freebsd-dev/sys/amd64/vmm/io
John Baldwin c0f35dbf19 vmm: Use a cpuset_t for vCPUs waiting for STARTUP IPIs.
Retire the boot_state member of struct vlapic and instead use a cpuset
in the VM to track vCPUs waiting for STARTUP IPIs.  INIT IPIs add
vCPUs to this set, and STARTUP IPIs remove vCPUs from the set.
STARTUP IPIs are only reported to userland for vCPUs that were removed
from the set.

In particular, this permits a subsequent change to allocate vCPUs on
demand when the vCPU may not be allocated until after a STARTUP IPI is
reported to userland.

Reviewed by:	corvink, markj
Differential Revision:	https://reviews.freebsd.org/D37173
2022-11-18 10:25:38 -08:00
..
iommu.c vmm: Make iommu ops tables const 2021-08-09 13:28:27 -04:00
iommu.h vmm: Make iommu ops tables const 2021-08-09 13:28:27 -04:00
ppt.c vmm ppt: Remove unused vcpu arg from MSI setup handlers. 2022-11-18 10:25:37 -08:00
ppt.h vmm ppt: Remove unused vcpu arg from MSI setup handlers. 2022-11-18 10:25:37 -08:00
vatpic.c vmm: Destroy mutexes. 2022-11-18 10:25:38 -08:00
vatpic.h vmm: Remove vcpuid from I/O port handlers. 2022-11-18 10:25:37 -08:00
vatpit.c vmm: Destroy mutexes. 2022-11-18 10:25:38 -08:00
vatpit.h vmm: Remove vcpuid from I/O port handlers. 2022-11-18 10:25:37 -08:00
vhpet.c vmm: Destroy mutexes. 2022-11-18 10:25:38 -08:00
vhpet.h vmm: Use struct vcpu in the instruction emulation code. 2022-11-18 10:25:37 -08:00
vioapic.c vmm: Destroy mutexes. 2022-11-18 10:25:38 -08:00
vioapic.h vmm: Remove unused vcpuid argument from vioapic_process_eoi. 2022-11-18 10:25:37 -08:00
vlapic_priv.h vmm: Use a cpuset_t for vCPUs waiting for STARTUP IPIs. 2022-11-18 10:25:38 -08:00
vlapic.c vmm: Use a cpuset_t for vCPUs waiting for STARTUP IPIs. 2022-11-18 10:25:38 -08:00
vlapic.h vmm: Use struct vcpu in the rendezvous code. 2022-11-18 10:25:37 -08:00
vpmtmr.c vmm: Remove vcpuid from I/O port handlers. 2022-11-18 10:25:37 -08:00
vpmtmr.h vmm: Remove vcpuid from I/O port handlers. 2022-11-18 10:25:37 -08:00
vrtc.c vmm: Destroy mutexes. 2022-11-18 10:25:38 -08:00
vrtc.h vmm: Remove vcpuid from I/O port handlers. 2022-11-18 10:25:37 -08:00