Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/sparc64 Use macros in machine/asm.h instead of loca...
details: https://anonhg.NetBSD.org/src/rev/5704013e4f62
branches: trunk
changeset: 786459:5704013e4f62
user: nakayama <nakayama%NetBSD.org@localhost>
date: Sun Apr 28 23:42:23 2013 +0000
description:
Use macros in machine/asm.h instead of locally defined, and
introduce CASPTRA for casxa/casa.
diffstat:
sys/arch/sparc64/include/asm.h | 8 +++++---
sys/arch/sparc64/sparc64/lock_stubs.s | 14 +-------------
sys/arch/sparc64/sparc64/locore.s | 8 ++++----
sys/arch/sparc64/sparc64/mp_subr.S | 4 ++--
4 files changed, 12 insertions(+), 22 deletions(-)
diffs (111 lines):
diff -r cb15a8fe3d2d -r 5704013e4f62 sys/arch/sparc64/include/asm.h
--- a/sys/arch/sparc64/include/asm.h Sun Apr 28 23:21:00 2013 +0000
+++ b/sys/arch/sparc64/include/asm.h Sun Apr 28 23:42:23 2013 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: asm.h,v 1.20 2013/03/16 23:04:22 christos Exp $ */
+/* $NetBSD: asm.h,v 1.21 2013/04/28 23:42:23 nakayama Exp $ */
#include <sparc/asm.h>
@@ -25,7 +25,8 @@
#define LDPTRA ldxa
#define STPTR stx
#define STPTRA stxa
-#define CASPTR casxa
+#define CASPTR casx
+#define CASPTRA casxa
/* Now something to calculate the stack bias */
#define STKB BIAS
#define CCCR %xcc
@@ -46,7 +47,8 @@
#define LDPTRA lduwa
#define STPTR stw
#define STPTRA stwa
-#define CASPTR casa
+#define CASPTR cas
+#define CASPTRA casa
#define STKB 0
#define CCCR %icc
#endif
diff -r cb15a8fe3d2d -r 5704013e4f62 sys/arch/sparc64/sparc64/lock_stubs.s
--- a/sys/arch/sparc64/sparc64/lock_stubs.s Sun Apr 28 23:21:00 2013 +0000
+++ b/sys/arch/sparc64/sparc64/lock_stubs.s Sun Apr 28 23:42:23 2013 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: lock_stubs.s,v 1.8 2008/05/25 15:56:12 chs Exp $ */
+/* $NetBSD: lock_stubs.s,v 1.9 2013/04/28 23:42:23 nakayama Exp $ */
/*-
* Copyright (c) 2002, 2006 The NetBSD Foundation, Inc.
@@ -48,18 +48,6 @@
#define MB_MEM /* nothing */
#endif
-#ifdef __arch64__
-#define CASPTR casx
-#define LDPTR ldx
-#define STPTR stx
-#define CCCR %xcc
-#else
-#define CASPTR cas
-#define LDPTR ld
-#define STPTR st
-#define CCCR %icc
-#endif /* __arch64__ */
-
/*
* int _lock_cas(uintptr_t *ptr, uintptr_t old, uintptr_t new);
*/
diff -r cb15a8fe3d2d -r 5704013e4f62 sys/arch/sparc64/sparc64/locore.s
--- a/sys/arch/sparc64/sparc64/locore.s Sun Apr 28 23:21:00 2013 +0000
+++ b/sys/arch/sparc64/sparc64/locore.s Sun Apr 28 23:42:23 2013 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.347 2013/01/23 21:03:25 martin Exp $ */
+/* $NetBSD: locore.s,v 1.348 2013/04/28 23:42:23 nakayama Exp $ */
/*
* Copyright (c) 2006-2010 Matthew R. Green
@@ -3146,7 +3146,7 @@
LDPTR [%g1], %g3 ! Load list head
STPTR %g3, [%g5+IH_PEND] ! Link our intrhand node in
mov %g5, %g7
- CASPTR [%g1] ASI_N, %g3, %g7
+ CASPTRA [%g1] ASI_N, %g3, %g7
cmp %g7, %g3 ! Did it work?
bne,pn CCCR, 1b ! No, try again
.empty
@@ -3396,7 +3396,7 @@
beq,pn CCCR, intrcmplt ! Empty list?
mov -1, %l7
membar #LoadStore
- CASPTR [%l4] ASI_N, %l2, %l7 ! Grab the entire list
+ CASPTRA [%l4] ASI_N, %l2, %l7 ! Grab the entire list
cmp %l7, %l2
bne,pn CCCR, 1b
add %sp, CC64FSZ+STKB, %o2 ! tf = %sp + CC64FSZ + STKB
@@ -5899,7 +5899,7 @@
LDPTR [%o3], %o5 ! Load list head
STPTR %o5, [%o2+IH_PEND] ! Link our intrhand node in
mov %o2, %o4
- CASPTR [%o3] ASI_N, %o5, %o4
+ CASPTRA [%o3] ASI_N, %o5, %o4
cmp %o4, %o5 ! Did it work?
bne,pn CCCR, 2b ! No, try again
.empty
diff -r cb15a8fe3d2d -r 5704013e4f62 sys/arch/sparc64/sparc64/mp_subr.S
--- a/sys/arch/sparc64/sparc64/mp_subr.S Sun Apr 28 23:21:00 2013 +0000
+++ b/sys/arch/sparc64/sparc64/mp_subr.S Sun Apr 28 23:42:23 2013 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mp_subr.S,v 1.4 2013/01/23 21:03:25 martin Exp $ */
+/* $NetBSD: mp_subr.S,v 1.5 2013/04/28 23:42:24 nakayama Exp $ */
/*
* Copyright (c) 2006-2010 Matthew R. Green
@@ -345,7 +345,7 @@
or %g1, PSTATE_PEF, %g1
wrpr %g1, 0, %pstate
set FPLWP, %g1
- CASPTR [%g1] ASI_N, %g2, %g0 ! fplwp = NULL if fplwp == %g2
+ CASPTRA [%g1] ASI_N, %g2, %g0 ! fplwp = NULL if fplwp == %g2
membar #Sync ! Should not be needed due to retry
IPIEVC_INC(IPI_EVCNT_FPU_FLUSH,%g2,%g3)
ba,a ret_from_intr_vector
Home |
Main Index |
Thread Index |
Old Index