diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2012-04-20 23:01:36 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2012-04-20 23:01:36 +0000 |
commit | 8f2d167ee3384a1ea35ebbf014d8f022d332df59 (patch) | |
tree | 667f2d9ed9a29010d338ae215a9d827d59de4fb3 /sys/powerpc | |
parent | 02336162cdc01550209fb04b5e543777ce6fe70c (diff) | |
download | FreeBSD-src-8f2d167ee3384a1ea35ebbf014d8f022d332df59.zip FreeBSD-src-8f2d167ee3384a1ea35ebbf014d8f022d332df59.tar.gz |
Make sure all pending operations have completed on the existing thread
before (potentially) migrating it to a different CPU.
MFC after: 5 days
Diffstat (limited to 'sys/powerpc')
-rw-r--r-- | sys/powerpc/aim/swtch32.S | 1 | ||||
-rw-r--r-- | sys/powerpc/aim/swtch64.S | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/sys/powerpc/aim/swtch32.S b/sys/powerpc/aim/swtch32.S index a44b861..76bb0f4 100644 --- a/sys/powerpc/aim/swtch32.S +++ b/sys/powerpc/aim/swtch32.S @@ -113,6 +113,7 @@ ENTRY(cpu_switch) mr %r3,%r14 /* restore old thread ptr */ bl pmap_deactivate /* Deactivate the current pmap */ + sync /* Make sure all of that finished */ stw %r16,TD_LOCK(%r14) /* ULE: update old thread's lock */ cpu_switchin: diff --git a/sys/powerpc/aim/swtch64.S b/sys/powerpc/aim/swtch64.S index 3b09adf..857ae40 100644 --- a/sys/powerpc/aim/swtch64.S +++ b/sys/powerpc/aim/swtch64.S @@ -139,6 +139,7 @@ ENTRY(cpu_switch) addi %r1,%r1,48 + sync /* Make sure all of that finished */ std %r16,TD_LOCK(%r14) /* ULE: update old thread's lock */ cpu_switchin: |