]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit - sys/amd64/vmm/intel/vmx_support.S
vmx: Implement pmap (de)activation in C
authorMark Johnston <markj@FreeBSD.org>
Mon, 19 Oct 2020 15:24:35 +0000 (15:24 +0000)
committerMark Johnston <markj@FreeBSD.org>
Mon, 19 Oct 2020 15:24:35 +0000 (15:24 +0000)
commit8e2cbc56603825e624150b77f64ed931b564c9b3
tree27ba88b31a93a5f8322d349ab15aac1a4c70ddbe
parente707c8be4e8d5f4d542a1344dc6d96bcc08d0b4f
vmx: Implement pmap (de)activation in C

Rewrite the code that maintains pm_active and invalidates EPTP-tagged
TLB entries in C.  Previously this work was done in vmx_enter_guest(),
in assembly, but there is no good reason for that and it makes the TLB
invalidation algorithm for nested page tables harder to review.

No functional change intended.  Now, an error from the invept
instruction results in a kernel panic rather than a vmexit.  Such errors
should occur only as a result of VMM bugs.

Reviewed by: grehan, kib
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D26830
sys/amd64/vmm/intel/vmx.c
sys/amd64/vmm/intel/vmx.h
sys/amd64/vmm/intel/vmx_genassym.c
sys/amd64/vmm/intel/vmx_support.S