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)
Thu, Jan 23, 12:28 AM
Unknown Object (File)
Wed, Jan 22, 10:45 AM
Unknown Object (File)
Mon, Jan 13, 8:52 PM
Unknown Object (File)
Nov 21 2024, 12:32 AM
Unknown Object (File)
Nov 16 2024, 5:52 AM
Unknown Object (File)
Nov 15 2024, 5:22 AM
Unknown Object (File)
Nov 6 2024, 3:50 PM
Unknown Object (File)
Nov 2 2024, 2:09 AM
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