summaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/leon_smp.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2013-02-20 12:38:40 -0800
committerDavid S. Miller <davem@davemloft.net>2013-02-20 13:34:41 -0800
commit76968ad2eac6456270353de168b21f04f4b3d1d3 (patch)
treeb5181645596ff9cce2e250bdf5de10948868a01e /arch/sparc/kernel/leon_smp.c
parent0fbebed682ff2788dee58e8d7f7dda46e33aa10b (diff)
downloadblackbird-op-linux-76968ad2eac6456270353de168b21f04f4b3d1d3.tar.gz
blackbird-op-linux-76968ad2eac6456270353de168b21f04f4b3d1d3.zip
sparc64: Fix huge PMD to PTE translation for sun4u in TLB miss handler.
When we set the sun4u version of the PTE execute bit, it's: or REG, _PAGE_EXEC_4U, REG _PAGE_EXEC_4U is 0x1000, unfortunately the immedate field of the 'or' instruction is a signed 13-bit value. So the above actually assembles into: or REG, -4096, REG completely corrupting the final PTE value. Set it with a: sethi %hi(_PAGE_EXEC_4U), TMP or REG, TMP, REG sequence instead. This fixes "git gc" crashes on sun4u machines. Reported-by: Meelis Roos <mroos@linux.ee> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/leon_smp.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud