patch-2.4.0-test11 linux/arch/ppc/kernel/head.S
Next file: linux/arch/ppc/kernel/irq.c
Previous file: linux/arch/ppc/kernel/hashtable.S
Back to the patch index
Back to the overall index
- Lines: 54
- Date:
Sat Nov 11 18:14:38 2000
- Orig file:
v2.4.0-test10/linux/arch/ppc/kernel/head.S
- Orig date:
Sun Oct 8 10:50:07 2000
diff -u --recursive --new-file v2.4.0-test10/linux/arch/ppc/kernel/head.S linux/arch/ppc/kernel/head.S
@@ -521,10 +521,15 @@
*/
mfctr r0
/* Get PTE (linux-style) and check access */
+ mfspr r3,IMISS
+ lis r1,KERNELBASE@h /* check if kernel address */
+ cmplw 0,r3,r1
mfspr r2,SPRG3
lwz r2,PGDIR(r2)
- tophys(r2,r2)
- mfspr r3,IMISS
+ blt+ 112f
+ lis r2,swapper_pg_dir@ha /* if kernel address, use */
+ addi r2,r2,swapper_pg_dir@l /* kernel page table */
+112: tophys(r2,r2)
rlwimi r2,r3,12,20,29 /* insert top 10 bits of address */
lwz r2,0(r2) /* get pmd entry */
rlwinm. r2,r2,0,0,19 /* extract address of pte page */
@@ -588,10 +593,15 @@
*/
mfctr r0
/* Get PTE (linux-style) and check access */
+ mfspr r3,DMISS
+ lis r1,KERNELBASE@h /* check if kernel address */
+ cmplw 0,r3,r1
mfspr r2,SPRG3
lwz r2,PGDIR(r2)
- tophys(r2,r2)
- mfspr r3,DMISS
+ blt+ 112f
+ lis r2,swapper_pg_dir@ha /* if kernel address, use */
+ addi r2,r2,swapper_pg_dir@l /* kernel page table */
+112: tophys(r2,r2)
rlwimi r2,r3,12,20,29 /* insert top 10 bits of address */
lwz r2,0(r2) /* get pmd entry */
rlwinm. r2,r2,0,0,19 /* extract address of pte page */
@@ -654,10 +664,15 @@
*/
mfctr r0
/* Get PTE (linux-style) and check access */
+ mfspr r3,DMISS
+ lis r1,KERNELBASE@h /* check if kernel address */
+ cmplw 0,r3,r1
mfspr r2,SPRG3
lwz r2,PGDIR(r2)
- tophys(r2,r2)
- mfspr r3,DMISS
+ blt+ 112f
+ lis r2,swapper_pg_dir@ha /* if kernel address, use */
+ addi r2,r2,swapper_pg_dir@l /* kernel page table */
+112: tophys(r2,r2)
rlwimi r2,r3,12,20,29 /* insert top 10 bits of address */
lwz r2,0(r2) /* get pmd entry */
rlwinm. r2,r2,0,0,19 /* extract address of pte page */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)