diff -ur linux-2.4.6.uc0pre0/arch/armnommu/kernel/head-armv.S linux-2.4.6.uc0pre0.head-armv.S-fix/arch/armnommu/kernel/head-armv.S
--- linux-2.4.6.uc0pre0/arch/armnommu/kernel/head-armv.S	2004-12-02 17:02:10.000000000 +0100
+++ linux-2.4.6.uc0pre0.head-armv.S-fix/arch/armnommu/kernel/head-armv.S	2004-12-02 17:04:57.000000000 +0100
@@ -134,7 +134,8 @@
 #elif defined(CONFIG_ARCH_CX861XX)
 		ldr	r1, CX861XX_IDR 
 #endif
-		msr	cpsr_c, # F_BIT | I_BIT | FIQ_MODE	@ Put us in FIRQ mode and turn interrupts off
+		mov	r0, # F_BIT | I_BIT | FIQ_MODE
+		msr	cpsr_c, r0				@ Put us in FIRQ mode and turn interrupts off
 		ldr	r13, =_firq_stack_bottom		@ initialize FIRQ stack ptr
 
 		mov	r0, #F_BIT | I_BIT | MODE_SVC	@ make sure svc mode

