Module Name: src
Committed By: matt
Date: Tue Jul 31 15:47:58 UTC 2012
Modified Files:
src/sys/arch/arm/include/arm32: frame.h
Log Message:
Add code to make sure the trapframe is aligned to a doubleword boundary.
To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/arm/include/arm32/frame.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/include/arm32/frame.h
diff -u src/sys/arch/arm/include/arm32/frame.h:1.26 src/sys/arch/arm/include/arm32/frame.h:1.27
--- src/sys/arch/arm/include/arm32/frame.h:1.26 Tue Jul 31 08:01:30 2012
+++ src/sys/arch/arm/include/arm32/frame.h Tue Jul 31 15:47:58 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: frame.h,v 1.26 2012/07/31 08:01:30 matt Exp $ */
+/* $NetBSD: frame.h,v 1.27 2012/07/31 15:47:58 matt Exp $ */
/*
* Copyright (c) 1994-1997 Mark Brinicombe.
@@ -372,6 +372,8 @@ LOCK_CAS_DEBUG_LOCALS
mrs r3, spsr; /* Save xxx32 spsr */ \
SET_CPSR_MODE(r2, PSR_SVC32_MODE); \
mov r2, sp; /* Save SVC sp */ \
+ tst sp, #4; /* check for alignment */ \
+ subne sp, sp, #4; /* adjust if not aligned */ \
str r0, [sp, #-4]!; /* Push return address */ \
str lr, [sp, #-4]!; /* Push SVC lr */ \
str r2, [sp, #-4]!; /* Push SVC sp */ \