From: David S. Miller Date: Wed, 20 Feb 2013 20:38:40 +0000 (-0800) Subject: sparc64: Fix huge PMD to PTE translation for sun4u in TLB miss handler. X-Git-Tag: v3.9-rc1~140^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=76968ad2eac6456270353de168b21f04f4b3d1d3;p=pandora-kernel.git 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 Signed-off-by: David S. Miller --- Reading git-diff-tree failed