]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit - sys/amd64/vmm/intel/vmx_support.S
vmx: Implement pmap (de)activation in C
authormarkj <markj@FreeBSD.org>
Mon, 19 Oct 2020 15:24:35 +0000 (15:24 +0000)
committermarkj <markj@FreeBSD.org>
Mon, 19 Oct 2020 15:24:35 +0000 (15:24 +0000)
commit2ea649d973047b79afd82da5c906e20a90be8848
tree27ba88b31a93a5f8322d349ab15aac1a4c70ddbe
parent0703933990cbf8a6160f954ba79440978df132c0
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