Răsfoiți Sursa

Merge branch 'master' of git://git.denx.de/u-boot-arm

Tom Rini 12 ani în urmă
părinte
comite
5873d0fbad
1 a modificat fișierele cu 7 adăugiri și 3 ștergeri
  1. 7 3
      arch/arm/cpu/armv7/start.S

+ 7 - 3
arch/arm/cpu/armv7/start.S

@@ -130,11 +130,15 @@ IRQ_STACK_START_IN:
 reset:
 	bl	save_boot_params
 	/*
-	 * set the cpu to SVC32 mode
+	 * disable interrupts (FIQ and IRQ), also set the cpu to SVC32 mode,
+	 * except if in HYP mode already
 	 */
 	mrs	r0, cpsr
-	bic	r0, r0, #0x1f
-	orr	r0, r0, #0xd3
+	and	r1, r0, #0x1f		@ mask mode bits
+	teq	r1, #0x1a		@ test for HYP mode
+	bicne	r0, r0, #0x1f		@ clear all mode bits
+	orrne	r0, r0, #0x13		@ set SVC mode
+	orr	r0, r0, #0xc0		@ disable FIQ and IRQ
 	msr	cpsr,r0
 
 /*