]> www.infradead.org Git - users/jedix/linux-maple.git/commit
sparc64: fix fault handling in NGbzero.S and GENbzero.S
authorDave Aldridge <david.j.aldridge@oracle.com>
Thu, 27 Apr 2017 09:20:18 +0000 (03:20 -0600)
committerShannon Nelson <shannon.nelson@oracle.com>
Wed, 31 May 2017 23:43:47 +0000 (16:43 -0700)
commit92f5590a5702f2782bbe3760a9252fa3c6b3a5ee
tree6279a2237524d6d44b97166491e5398072ac2dbc
parent04f4ebc92e1754ea4a287c189765c5f96044b1e7
sparc64: fix fault handling in NGbzero.S and GENbzero.S

When any of the functions contained in NGbzero.S and GENbzero.S
are being run, we may end up taking a fault when executing one
of the store alternate address space instructions. If this
happens, the exception handler does not restore the %asi
register.

This commit fixes the issue by introducing a new exception
handler that ensures the %asi register is restored when
a fault is handled.

Orabug: 25577560

Signed-off-by: Dave Aldridge <david.j.aldridge@oracle.com>
Reviewed-by: Rob Gardner <rob.gardner@oracle.com>
Reviewed-by: Babu Moger <babu.moger@oracle.com>
Signed-off-by: Allen Pais <allen.pais@oracle.com>
arch/sparc/kernel/head_64.S
arch/sparc/lib/GENbzero.S
arch/sparc/lib/NGbzero.S