patch-1.3.45 linux/arch/ppc/kernel/test.S
Next file: linux/arch/ppc/kernel/test1.c
Previous file: linux/arch/ppc/kernel/stubs.c
Back to the patch index
Back to the overall index
- Lines: 102
- Date:
Sun Oct 15 01:08:24 1995
- Orig file:
v1.3.44/linux/arch/ppc/kernel/test.S
- Orig date:
Thu Jan 1 02:00:00 1970
diff -u --recursive --new-file v1.3.44/linux/arch/ppc/kernel/test.S linux/arch/ppc/kernel/test.S
@@ -0,0 +1,100 @@
+#include "ppc_asm.tmpl"
+#include "ppc_defs.h"
+
+#define SYNC() \
+ isync; \
+ sync
+
+#define BEEF ori r0,r0,0; ori r0,r0,0 ;.word 0 ; .word 0xBEEF
+_BEG:
+ lis r7,0xF000 /* To mask upper 4 bits */
+
+
+/* Initialize BAT registers */
+ lis r3,OFF_BAT@h
+ ori r3,r3,OFF_BAT@l
+ andc r3,r3,r7 /* make unmapped address */
+ lwz r0,0(r3)
+
+ mtspr IBAT0U,r0
+ mtspr DBAT0U,r0
+ lwz r0,4(r3)
+ mtspr IBAT0L,r0
+ mtspr DBAT0L,r0
+
+ lis r3,OFF_BAT@h
+ ori r3,r3,OFF_BAT@l
+ andc r3,r3,r7 /* make unmapped address */
+ lwz r0,0(r3)
+ mtspr IBAT1U,r0
+ mtspr DBAT1U,r0
+ lwz r0,4(r3)
+ mtspr IBAT1L,r0
+ mtspr DBAT1L,r0
+
+ lis r3,ZERO_BAT@h
+ ori r3,r3,ZERO_BAT@l
+ andc r3,r3,r7 /* make unmapped address */
+ lwz r0,0(r3)
+ mtspr IBAT2U,r0
+ mtspr DBAT2U,r0
+ lwz r0,4(r3)
+ mtspr IBAT2L,r0
+ mtspr DBAT2L,r0
+
+
+ lis r3,TMP_BAT2@h
+ ori r3,r3,TMP_BAT2@l
+ andc r3,r3,r7 /* make unmapped address */
+ lwz r0,0(r3)
+ mtspr IBAT3U,r0
+ mtspr DBAT3U,r0
+ lwz r0,4(r3)
+ mtspr IBAT3L,r0
+ mtspr DBAT3L,r0
+
+
+/* Now we can turn on the MMU */
+/* set srr1 for rfi */
+ mfmsr r3
+ ori r3,r3,MSR_DR|MSR_IR|MSR_
+
+ mtspr SRR1,r3
+
+/* set srr0 for rfi */
+ subf r2, r2, r2
+/* lis r2,10f@h*/
+ lis r2,0
+ ori r2,r2,10f@l
+ mtspr SRR0,r2
+
+ SYNC()
+ rfi
+
+ ori r0, r0, 0
+ ori r0, r0, 0
+10: ori r0, r0, 0
+ ori r0, r0, 0
+ BEEF
+
+#if 0
+/* check bptr to see if it actually has the correct values */
+
+ subf r2,r2,r2
+ lis r2,bptr@h
+ ori r2,r2,bptr@l
+ lwz r0,0(r2)
+
+/* rfi to the beef */
+ mtspr SRR1,r3
+ mtspr SRR0,r2
+
+ SYNC()
+ rfi
+
+bptr: ori r0, r0, 0
+ BEEF
+ BEEF
+ BEEF
+#endif
+_END:
\ No newline at end of file
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this