Module Name: src Committed By: matt Date: Tue Aug 20 07:52:31 UTC 2013
Modified Files: src/common/lib/libc/arch/arm/atomic: atomic_add_64.S atomic_and_64.S atomic_or_64.S atomic_swap_64.S Log Message: Push two registers to keep stack aligned. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/common/lib/libc/arch/arm/atomic/atomic_add_64.S cvs rdiff -u -r1.6 -r1.7 src/common/lib/libc/arch/arm/atomic/atomic_and_64.S \ src/common/lib/libc/arch/arm/atomic/atomic_or_64.S cvs rdiff -u -r1.4 -r1.5 src/common/lib/libc/arch/arm/atomic/atomic_swap_64.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/common/lib/libc/arch/arm/atomic/atomic_add_64.S diff -u src/common/lib/libc/arch/arm/atomic/atomic_add_64.S:1.7 src/common/lib/libc/arch/arm/atomic/atomic_add_64.S:1.8 --- src/common/lib/libc/arch/arm/atomic/atomic_add_64.S:1.7 Sun Aug 11 04:41:17 2013 +++ src/common/lib/libc/arch/arm/atomic/atomic_add_64.S Tue Aug 20 07:52:31 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_add_64.S,v 1.7 2013/08/11 04:41:17 matt Exp $ */ +/* $NetBSD: atomic_add_64.S,v 1.8 2013/08/20 07:52:31 matt Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -33,7 +33,7 @@ #ifdef _ARM_ARCH_6 ENTRY_NP(_atomic_add_64_nv) - push {r4} /* save temporary */ + push {r3,r4} /* save temporary */ mov ip, r0 /* need r0 for return value */ #ifndef __ARM_EABI__ mov r3, r2 @@ -50,7 +50,7 @@ ENTRY_NP(_atomic_add_64_nv) #else mcr p15, 0, r4, c7, c10, 5 /* data memory barrier */ #endif - pop {r4} /* restore temporary */ + pop {r3,r4} /* restore temporary */ RET /* return new value */ END(_atomic_add_64_nv) Index: src/common/lib/libc/arch/arm/atomic/atomic_and_64.S diff -u src/common/lib/libc/arch/arm/atomic/atomic_and_64.S:1.6 src/common/lib/libc/arch/arm/atomic/atomic_and_64.S:1.7 --- src/common/lib/libc/arch/arm/atomic/atomic_and_64.S:1.6 Sun Aug 11 04:41:17 2013 +++ src/common/lib/libc/arch/arm/atomic/atomic_and_64.S Tue Aug 20 07:52:31 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_and_64.S,v 1.6 2013/08/11 04:41:17 matt Exp $ */ +/* $NetBSD: atomic_and_64.S,v 1.7 2013/08/20 07:52:31 matt Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -33,7 +33,7 @@ #ifdef _ARM_ARCH_6 ENTRY_NP(_atomic_and_64_nv) - push {r4} /* save temporary */ + push {r3,r4} /* save temporary */ #ifndef __ARM_EABI__ mov r3, r2 mov r2, r1 @@ -50,7 +50,7 @@ ENTRY_NP(_atomic_and_64_nv) #else mcr p15, 0, r4, c7, c10, 5 /* data memory barrier */ #endif - pop {r4} /* restore temporary */ + pop {r3,r4} /* restore temporary */ RET /* return new value */ END(_atomic_and_64_nv) Index: src/common/lib/libc/arch/arm/atomic/atomic_or_64.S diff -u src/common/lib/libc/arch/arm/atomic/atomic_or_64.S:1.6 src/common/lib/libc/arch/arm/atomic/atomic_or_64.S:1.7 --- src/common/lib/libc/arch/arm/atomic/atomic_or_64.S:1.6 Sun Aug 11 04:41:17 2013 +++ src/common/lib/libc/arch/arm/atomic/atomic_or_64.S Tue Aug 20 07:52:31 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_or_64.S,v 1.6 2013/08/11 04:41:17 matt Exp $ */ +/* $NetBSD: atomic_or_64.S,v 1.7 2013/08/20 07:52:31 matt Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -33,7 +33,7 @@ #ifdef _ARM_ARCH_6 ENTRY_NP(_atomic_or_64_nv) - push {r4} /* save temporary */ + push {r3,r4} /* save temporary */ #ifndef __ARM_EABI__ mov r3, r2 mov r2, r1 @@ -50,7 +50,7 @@ ENTRY_NP(_atomic_or_64_nv) #else mcr p15, 0, r4, c7, c10, 5 /* data memory barrier */ #endif - pop {r4} /* restore temporary */ + pop {r3,r4} /* restore temporary */ RET /* return new value */ END(_atomic_or_64_nv) Index: src/common/lib/libc/arch/arm/atomic/atomic_swap_64.S diff -u src/common/lib/libc/arch/arm/atomic/atomic_swap_64.S:1.4 src/common/lib/libc/arch/arm/atomic/atomic_swap_64.S:1.5 --- src/common/lib/libc/arch/arm/atomic/atomic_swap_64.S:1.4 Sat Aug 10 19:59:21 2013 +++ src/common/lib/libc/arch/arm/atomic/atomic_swap_64.S Tue Aug 20 07:52:31 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_swap_64.S,v 1.4 2013/08/10 19:59:21 matt Exp $ */ +/* $NetBSD: atomic_swap_64.S,v 1.5 2013/08/20 07:52:31 matt Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -31,7 +31,7 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_swap_64) - push {r4} /* save temporary */ + push {r3,r4} /* save temporary */ mov ip, r0 /* return value will be in r0 */ #ifndef __ARM_EABI__ mov r3, r2 /* r2 will be overwriten by r1 */ @@ -46,7 +46,7 @@ ENTRY_NP(_atomic_swap_64) #else mcr p15, 0, r4, c7, c10, 5 /* data memory barrier */ #endif - pop {r4} /* restore temporary */ + pop {r3,r4} /* restore temporary */ RET END(_atomic_swap_64) ATOMIC_OP_ALIAS(atomic_swap_64,_atomic_swap_64)