patch-2.4.6 linux/arch/ppc/kernel/head_8xx.S
Next file: linux/arch/ppc/kernel/irq.c
Previous file: linux/arch/ppc/kernel/head.S
Back to the patch index
Back to the overall index
- Lines: 41
- Date:
Mon Jul 2 14:34:57 2001
- Orig file:
v2.4.5/linux/arch/ppc/kernel/head_8xx.S
- Orig date:
Mon May 21 17:04:47 2001
diff -u --recursive --new-file v2.4.5/linux/arch/ppc/kernel/head_8xx.S linux/arch/ppc/kernel/head_8xx.S
@@ -1,5 +1,5 @@
/*
- * BK Id: SCCS/s.head_8xx.S 1.11 05/21/01 11:50:00 paulus
+ * BK Id: SCCS/s.head_8xx.S 1.14 06/28/01 15:50:16 paulus
*/
/*
* arch/ppc/kernel/except_8xx.S
@@ -500,6 +500,11 @@
#endif
mtspr MD_TWC, r21
+ /* Set PP0 to PP1 (== _PAGE_USER) & ~_PAGE_RW */
+ rlwimi r20, r20, 32-1, 21, 21
+ rlwinm r21, r20, 4, 21, 21
+ andc r20, r20, r21
+
/* Set four subpage valid bits (24, 25, 26, and 27).
* Clear bit 28 (which should be in the PTE, but we do this anyway).
*/
@@ -602,7 +607,7 @@
/* Update 'changed', among others.
*/
- ori r20, r20, _PAGE_DIRTY|_PAGE_HWWRITE|_PAGE_ACCESSED
+ ori r20, r20, _PAGE_DIRTY|_PAGE_ACCESSED
mfspr r21, MD_TWC /* Get pte address again */
stw r20, 0(r21) /* and update pte in table */
@@ -939,6 +944,12 @@
* ASID compare register with the new "context".
*/
_GLOBAL(set_context)
+ /* fetch the pgd from the context_mm array */
+ lis r5, context_mm@ha
+ slwi r6, r3, 2
+ add r5, r5, r6
+ lwz r5, context_mm@l(r5) /* get the mm */
+ lwz r4, MM_PGD(r5) /* get the pgd from the mm */
#ifdef CONFIG_8xx_CPU6
lis r6, cpu6_errata_word@h
ori r6, r6, cpu6_errata_word@l
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)