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 */		   \

Reply via email to