summaryrefslogtreecommitdiffstats
path: root/arch/parisc
diff options
context:
space:
mode:
authorHelge Deller2006-03-22 00:01:15 +0100
committerKyle McMartin2006-03-30 19:48:44 +0200
commitb9e71ac13a71bb435a4146d868080f5389bb906c (patch)
tree68765e7759f5c5fb315d40a65c3a1795ff9614f8 /arch/parisc
parent[PARISC] Add parisc implementation of flush_kernel_dcache_page() (diff)
downloadkernel-qcow2-linux-b9e71ac13a71bb435a4146d868080f5389bb906c.tar.gz
kernel-qcow2-linux-b9e71ac13a71bb435a4146d868080f5389bb906c.tar.xz
kernel-qcow2-linux-b9e71ac13a71bb435a4146d868080f5389bb906c.zip
[PARISC] Fix IOREMAP with a 64-bit kernel
We were only copying 32-bits of the PTE/PFN, not the full 52-bits. Signed-off-by: Helge Deller <deller@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc')
-rw-r--r--arch/parisc/kernel/entry.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
index 9af4b22a6d77..6d17c0a3431b 100644
--- a/arch/parisc/kernel/entry.S
+++ b/arch/parisc/kernel/entry.S
@@ -563,10 +563,10 @@
extrd,u,*= \pte,_PAGE_GATEWAY_BIT+32,1,%r0
depd %r0,11,2,\prot /* If Gateway, Set PL2 to 0 */
- /* Get rid of prot bits and convert to page addr for iitlbt */
+ /* Get rid of prot bits and convert to page addr for iitlbt and idtlbt */
depd %r0,63,PAGE_SHIFT,\pte
- extrd,u \pte,56,32,\pte
+ extrd,s \pte,(63-PAGE_SHIFT)+(63-58),64-PAGE_SHIFT,\pte
.endm
/* Identical macro to make_insert_tlb above, except it
@@ -584,7 +584,7 @@
/* Get rid of prot bits and convert to page addr for iitlba */
- depi 0,31,12,\pte
+ depi 0,31,PAGE_SHIFT,\pte
extru \pte,24,25,\pte
.endm