diff --git a/usr.sbin/bhyve/aarch64/vmexit.c b/usr.sbin/bhyve/aarch64/vmexit.c --- a/usr.sbin/bhyve/aarch64/vmexit.c +++ b/usr.sbin/bhyve/aarch64/vmexit.c @@ -216,7 +216,7 @@ break; } - if (CPU_ISSET(newcpu, &running_cpumask)) { + if (CPU_TEST_SET_ATOMIC(newcpu, &running_cpumask)) { smccc_rv = PSCI_RETVAL_ALREADY_ON; break; } @@ -235,7 +235,6 @@ assert(error == 0); vm_resume_cpu(newvcpu); - CPU_SET_ATOMIC(newcpu, &running_cpumask); smccc_rv = PSCI_RETVAL_SUCCESS; break;