summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2009-06-09 17:21:47 +0000
committermarcel <marcel@FreeBSD.org>2009-06-09 17:21:47 +0000
commit6550c66aa23e544ae0721ff433e77661cc5c4098 (patch)
tree46973a5cb13e5a939cfba4514a6c71aa654f1c92 /sys/arm
parent5e741eef8498d3a8f754989c20cb04a54cc89fba (diff)
downloadFreeBSD-src-6550c66aa23e544ae0721ff433e77661cc5c4098.zip
FreeBSD-src-6550c66aa23e544ae0721ff433e77661cc5c4098.tar.gz
Disable interrupts to allow booting on firmware (e.g. U-Boot) that
has interrupts enabled and active. Obtained from: Juniper Networks, Inc.
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/arm/locore.S5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/arm/arm/locore.S b/sys/arm/arm/locore.S
index e56a91c..ff4494d 100644
--- a/sys/arm/arm/locore.S
+++ b/sys/arm/arm/locore.S
@@ -73,6 +73,11 @@ ASENTRY_NP(_start)
mov ip, r0
+ /* Make sure interrupts are disabled. */
+ mrs r7, cpsr
+ orr r7, r7, #(I32_bit|F32_bit)
+ msr cpsr_c, r7
+
#if defined (FLASHADDR) && defined(LOADERRAMADDR)
/* Check if we're running from flash. */
ldr r7, =FLASHADDR
OpenPOWER on IntegriCloud