bhyve/arm64: Implement PSCI_FNID_CPU_OFF

Support PSCI CPU_OFF by suspending the CPU and removing it from the
running CPU set.

Reviewed by:	markj
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D51768
This commit is contained in:
Andrew Turner
2025-08-07 12:18:43 +01:00
parent 6227d0f81a
commit 642c0334f5
+3
View File
@@ -202,7 +202,10 @@ vmexit_smccc(struct vmctx *ctx, struct vcpu *vcpu, struct vm_run *vmrun)
smccc_rv = PSCI_VER(1, 0);
break;
case PSCI_FNID_CPU_SUSPEND:
break;
case PSCI_FNID_CPU_OFF:
CPU_CLR_ATOMIC(vcpu_id(vcpu), &running_cpumask);
vm_suspend_cpu(vcpu);
break;
case PSCI_FNID_CPU_ON:
mpidr = vme->u.smccc_call.args[0];