vmm/vmd: add exception injection and refactor inject api.
authordv <dv@openbsd.org>
Tue, 9 Apr 2024 21:55:16 +0000 (21:55 +0000)
committerdv <dv@openbsd.org>
Tue, 9 Apr 2024 21:55:16 +0000 (21:55 +0000)
commit1ebbcee88fd42e4612c9e2e6d12b4aad159f7741
treecdb30fdc3404b8b8d8c1239711ae3aa9dd7b7def
parenta938a57b1f753b55309620f7e0ecb50db35645b7
vmm/vmd: add exception injection and refactor inject api.

In order to continue work on mmio and other instruction emulation,
vmd(8) needs the ability to inject exceptions (like page faults)
from userland.

Refactor the way events are injected from userland, cleaning up how
hardware (external) interrupts are injected in the process.

ok mlarkin@
regress/sys/arch/amd64/vmm/vcpu.c
sys/arch/amd64/amd64/vmm_machdep.c
sys/arch/amd64/include/vmmvar.h
usr.sbin/vmd/vm.c