patch-2.1.101 linux/arch/arm/kernel/entry-common.S

Next file: linux/arch/arm/kernel/head-armv.S
Previous file: linux/arch/arm/kernel/entry-armv.S
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.100/linux/arch/arm/kernel/entry-common.S linux/arch/arm/kernel/entry-common.S
@@ -207,6 +207,7 @@
  * 0x1c onwards is reserved for FIQ, so I think that I will allocate 0xe0 onwards for
  * the actuall address to jump to.
  */
+#if defined(CONFIG_CPU_32)
 /*
  * these go into 0x00
  */
@@ -237,13 +238,42 @@
 		initialise_traps_extra
 		mov	r0, #0xe4
 		adr	r1, .Ljump_addresses
-		ldmia	r1, {r1 - r6}
-		stmia	r0, {r1 - r6}
+		ldmia	r1, {r1 - r7}
+		stmia	r0, {r1 - r7}
 		mov	r0, #0
 		adr	r1, .Lbranches
 		ldmia	r1, {r1 - r7}
 		stmia	r0, {r1 - r7}
 		LOADREGS(fd, sp!, {r4 - r7, pc})
+#elif defined(CONFIG_CPU_26)
+.Ljump_addresses:
+		swi	SYS_ERROR0
+		.word	vector_undefinstr	- 12
+		.word	vector_swi		- 16
+		.word	vector_prefetch		- 20
+		.word	vector_data		- 24
+		.word	vector_addrexcptn	- 28
+		.word	vector_IRQ		- 32
+		.word	_unexp_fiq		- 36
+		b	. + 8
+/*
+ * initialise the trap system
+ */
+ENTRY(trap_init)
+		stmfd	sp!, {r4 - r7, lr}
+		adr	r1, .Ljump_addresses
+		ldmia	r1, {r1 - r7, ip, lr}
+		orr	r2, lr, r2, lsr #2
+		orr	r3, lr, r3, lsr #2
+		orr	r4, lr, r4, lsr #2
+		orr	r5, lr, r5, lsr #2
+		orr	r6, lr, r6, lsr #2
+		orr	r7, lr, r7, lsr #2
+		orr	ip, lr, ip, lsr #2
+		mov	r0, #0
+		stmia	r0, {r1 - r7, ip}
+		ldmfd	sp!, {r4 - r7, pc}^
+#endif
 
 /*============================================================================
  * FP support

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov