vmm(4): dt(4) tracepoints for vm exit reporting previous exit.
authordv <dv@openbsd.org>
Wed, 27 Apr 2022 14:23:37 +0000 (14:23 +0000)
committerdv <dv@openbsd.org>
Wed, 27 Apr 2022 14:23:37 +0000 (14:23 +0000)
commit54a3c02af71382a882044f3f821dca3827ee12a5
treea7318e06889ebd4c3d7a4a3517c80122509fac20
parent3f191268010967db8b91b6d5ea5b6f729e9870af
vmm(4): dt(4) tracepoints for vm exit reporting previous exit.

On Intel/VMX, the tracepoint for vm exits was before extracting the
vm exit reason meaning we either reported stack garbage (on first
exit) or the prior exit reason. Move the tracepoint to after
extraction and refactor the logic to collect all exit info processing
in one place. (We were extracting the guest RFLAGS register state
before checking the exit info extraction success.)

On AMD/SVM, the tracepoint was always triggered even on unsuccessful
vm entry leading to garbage data. Tuck the tracepoint into the If
block and merge them.

ok mlarkin@
sys/arch/amd64/amd64/vmm.c