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

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