Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/arm/arm32 push/pop unsaved registers before using p...
details: https://anonhg.NetBSD.org/src/rev/9fe6661b9f67
branches: trunk
changeset: 327333:9fe6661b9f67
user: matt <matt%NetBSD.org@localhost>
date: Wed Mar 05 02:12:24 2014 +0000
description:
push/pop unsaved registers before using printf.
diffstat:
sys/arch/arm/arm32/exception.S | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diffs (32 lines):
diff -r f7c9405d4030 -r 9fe6661b9f67 sys/arch/arm/arm32/exception.S
--- a/sys/arch/arm/arm32/exception.S Wed Mar 05 02:10:39 2014 +0000
+++ b/sys/arch/arm/arm32/exception.S Wed Mar 05 02:12:24 2014 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: exception.S,v 1.20 2013/12/02 18:36:10 joerg Exp $ */
+/* $NetBSD: exception.S,v 1.21 2014/03/05 02:12:24 matt Exp $ */
/*
* Copyright (c) 1994-1997 Mark Brinicombe.
@@ -51,7 +51,7 @@
#include <arm/locore.h>
- RCSID("$NetBSD: exception.S,v 1.20 2013/12/02 18:36:10 joerg Exp $")
+ RCSID("$NetBSD: exception.S,v 1.21 2014/03/05 02:12:24 matt Exp $")
.text
.align 0
@@ -178,11 +178,13 @@
* it like a Data Abort.
*/
ASENTRY_NP(address_exception_entry)
+ push {r0-r3,ip,lr}
mrs r1, cpsr
mrs r2, spsr
mov r3, lr
adr r0, .Laddress_exception_msg
bl _C_LABEL(printf) /* XXX CLOBBERS LR!! */
+ pop {r0-r3,ip,lr}
b _ASM_LABEL(data_abort_entry)
.Laddress_exception_msg:
.asciz "Address Exception CPSR=0x%08x SPSR=0x%08x LR=0x%08x\n"
Home |
Main Index |
Thread Index |
Old Index