Page MenuHomeFreeBSD

vmx: Implement pmap (de)activation in C
ClosedPublic

Authored by markj on Oct 17 2020, 3:57 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 20 2023, 5:18 AM
Unknown Object (File)
Nov 10 2023, 4:39 PM
Unknown Object (File)
Oct 10 2023, 3:45 AM
Unknown Object (File)
Oct 9 2023, 3:35 PM
Unknown Object (File)
Sep 19 2023, 5:05 AM
Unknown Object (File)
Sep 19 2023, 5:00 AM
Unknown Object (File)
Sep 19 2023, 4:55 AM
Unknown Object (File)
Sep 3 2023, 6:10 PM
Subscribers

Details

Summary

Currently we update pm_active and invoke invept from vmx_enter_guest(),
but is no apparent reason these can't be done before the call. The
invalidation algorithm is easier to modify and audit when it's written
in C, so let's rewrite it.

This is NFC except that the VMM no longer tries to handle errors from
invept. invept can fail for two reasons:

  • the invept type is not supported, but we check this in ept_init()
  • the eptp value is invalid, which I believe should never happen

So with this change, an error from invept results in a panic, and I
removed VMX_INVEPT_ERROR handling.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable