summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/mm/fault.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc64/mm/fault.c')
-rw-r--r--arch/sparc64/mm/fault.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/sparc64/mm/fault.c b/arch/sparc64/mm/fault.c
index 1a20b399b..1835b874f 100644
--- a/arch/sparc64/mm/fault.c
+++ b/arch/sparc64/mm/fault.c
@@ -1,4 +1,4 @@
-/* $Id: fault.c,v 1.39 1999/08/30 10:07:09 davem Exp $
+/* $Id: fault.c,v 1.40 1999/12/01 10:44:53 davem Exp $
* arch/sparc64/mm/fault.c: Page fault handlers for the 64-bit Sparc.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
@@ -113,7 +113,9 @@ static inline u32 get_user_insn(unsigned long tpc)
ptep = pte_offset(pmdp, tpc);
if(!pte_present(*ptep))
return 0;
- insn = *(unsigned int *)(pte_page(*ptep) + (tpc & ~PAGE_MASK));
+ insn = *(unsigned int *)
+ ((unsigned long)__va(pte_pagenr(*ptep) << PAGE_SHIFT) +
+ (tpc & ~PAGE_MASK));
#else
register unsigned long pte asm("l1");