summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-03-10 22:38:07 +0000
committerian <ian@FreeBSD.org>2014-03-10 22:38:07 +0000
commitab22d4f391ac7c4c8395ac6a05ab747f91d52d2f (patch)
tree07029275fcc48409a3e4dc553bc42d2378ae48d7 /sys/arm
parentaa6dd6786650e1b2914d76d1ba6406b8c655eed4 (diff)
downloadFreeBSD-src-ab22d4f391ac7c4c8395ac6a05ab747f91d52d2f.zip
FreeBSD-src-ab22d4f391ac7c4c8395ac6a05ab747f91d52d2f.tar.gz
Change the way the asm GET_CURTHREAD_PTR() macro is defined so that code
using it doesn't have to have an "AST_LOCALS" macro somewhere in the file.
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/arm/exception.S2
-rw-r--r--sys/arm/arm/swtch.S1
-rw-r--r--sys/arm/include/asmacros.h11
3 files changed, 4 insertions, 10 deletions
diff --git a/sys/arm/arm/exception.S b/sys/arm/arm/exception.S
index f773c92..cb537cc 100644
--- a/sys/arm/arm/exception.S
+++ b/sys/arm/arm/exception.S
@@ -56,8 +56,6 @@ __FBSDID("$FreeBSD$");
.text
.align 0
-AST_LOCALS
-
/*
* reset_entry:
*
diff --git a/sys/arm/arm/swtch.S b/sys/arm/arm/swtch.S
index d704823..be9b5c4 100644
--- a/sys/arm/arm/swtch.S
+++ b/sys/arm/arm/swtch.S
@@ -501,6 +501,5 @@ ENTRY(fork_trampoline)
movs pc, lr /* Exit */
-AST_LOCALS
END(fork_trampoline)
diff --git a/sys/arm/include/asmacros.h b/sys/arm/include/asmacros.h
index 8796ae8..b849582 100644
--- a/sys/arm/include/asmacros.h
+++ b/sys/arm/include/asmacros.h
@@ -243,13 +243,10 @@ name:
#define GET_CURTHREAD_PTR(tmp) \
mrc p15, 0, tmp, c13, c0, 4
#else
-#define AST_LOCALS ;\
-.Lcurthread: ;\
- .word _C_LABEL(__pcpu) + PC_CURTHREAD
-
-#define GET_CURTHREAD_PTR(tmp) \
- ldr tmp, .Lcurthread; \
- ldr tmp, [tmp]
+#define AST_LOCALS
+#define GET_CURTHREAD_PTR(tmp) \
+ ldr tmp, =_C_LABEL(__pcpu);\
+ ldr tmp, [tmp, #PC_CURTHREAD]
#endif
#define DO_AST \
OpenPOWER on IntegriCloud