summaryrefslogtreecommitdiffstats
path: root/sys/arm64
diff options
context:
space:
mode:
authorandrew <andrew@FreeBSD.org>2016-02-10 10:28:33 +0000
committerandrew <andrew@FreeBSD.org>2016-02-10 10:28:33 +0000
commitbfa435406f12bc3d084f6fd8dce69e81a24c9042 (patch)
tree58b7f9e8127bb1c971d1204046182ab2ce473c3a /sys/arm64
parent24923780b3ff6d6629effa4f955a277ebcd6b7fe (diff)
downloadFreeBSD-src-bfa435406f12bc3d084f6fd8dce69e81a24c9042.zip
FreeBSD-src-bfa435406f12bc3d084f6fd8dce69e81a24c9042.tar.gz
Revert an arm64 change that sneaked in with r295464.
Diffstat (limited to 'sys/arm64')
-rw-r--r--sys/arm64/arm64/swtch.S13
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/arm64/arm64/swtch.S b/sys/arm64/arm64/swtch.S
index 981dfeb..3175e87 100644
--- a/sys/arm64/arm64/swtch.S
+++ b/sys/arm64/arm64/swtch.S
@@ -129,6 +129,12 @@ END(cpu_throw)
* x3 to x7, x16 and x17 are caller saved
*/
ENTRY(cpu_switch)
+ /* Store the new curthread */
+ str x1, [x18, #PC_CURTHREAD]
+ /* And the new pcb */
+ ldr x4, [x1, #TD_PCB]
+ str x4, [x18, #PC_CURPCB]
+
/*
* Save the old context.
*/
@@ -168,15 +174,10 @@ ENTRY(cpu_switch)
mov x0, x19
#endif
- /* Store the new curthread */
- str x1, [x18, #PC_CURTHREAD]
-
/*
- * Restore the saved context and save it as the curpcb.
+ * Restore the saved context.
*/
ldr x4, [x1, #TD_PCB]
- str x4, [x18, #PC_CURPCB]
-
/*
* TODO: We may need to flush the cache here if switching
OpenPOWER on IntegriCloud