[SPARC64]: Fix _PAGE_EXEC handling.
First of all, use the known _PAGE_EXEC_{4U,4V} value instead of loading _PAGE_EXEC from memory. We either know which one to use by context, or we can code patch the test. Next, we need to check executability of a PTE in the generic TSB miss handler. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -103,6 +103,15 @@ tsb_dtlb_load:
|
||||
mov %g5, %g3
|
||||
|
||||
tsb_itlb_load:
|
||||
/* Executable bit must be set. */
|
||||
661: andcc %g5, _PAGE_EXEC_4U, %g0
|
||||
.section .sun4v_1insn_patch, "ax"
|
||||
.word 661b
|
||||
andcc %g5, _PAGE_EXEC_4V, %g0
|
||||
.previous
|
||||
|
||||
be,pn %xcc, tsb_do_fault
|
||||
nop
|
||||
|
||||
661: stxa %g5, [%g0] ASI_ITLB_DATA_IN
|
||||
retry
|
||||
|
Reference in New Issue
Block a user