[Differential] D10540: vmx: explicit checking for necessary invvpid/invept types
jan.dakinevich_gmail.com (Jan Dakinevich)
phabric-noreply at FreeBSD.org
Thu May 11 17:04:31 UTC 2017
jan.dakinevich_gmail.com added inline comments.
INLINE COMMENTS
> anish wrote in ept.c:58-59
> This is cryptic, better to have separate macros for it
> #define INVVPID_SINGLE_CTX_SUP(cap) ((cap) & (1UL << 41))
> #define INVVPID_ALL_CTX_SUP(cap) ((cap) & (1UL << 42))
It was done in that way to minimize produced patch. Actually, I would prefer to declare masks and check them against cap in code. Something like that:
#define INVVPID_MASK_SINGLE_CONTEXT (1UL << 41)
#define INVVPID_MASK_ALL_CONTEXTS (1UL << 42)
...
int
ept_init(int ipinum)
{
...
/* invvpid instruction with required types is supported */
if(!INVVPID_SUPPORTED(cap) ||
!(cap & INVVPID_MASK_SINGLE_CONTEXT) ||
!(cap & INVVPID_MASK_ALL_CONTEXTS))
return (EINVAL);
> grehan wrote in ept.c:68
> Might be worth splitting these out into individual tests, since I have a change that will look at the EPT capabilities individually (for PR 203994, bhyve as a KVM guest. Jan - judging from your work in https://patchwork.kernel.org/project/kvm/list/?submitter=170053 you are intimately familiar with this issue :)
> I have a change that will look at the EPT capabilities individually
I suppose it would be feasible to wait for your changes will be done.
> Jan - judging from your work in https://patchwork.kernel.org/project/kvm/list/?submitter=170053 you are intimately familiar with this issue :)
Yes, all these changes came from my attempt to run bhyve in KVM guest :)
REPOSITORY
rS FreeBSD src repository
REVISION DETAIL
https://reviews.freebsd.org/D10540
EMAIL PREFERENCES
https://reviews.freebsd.org/settings/panel/emailpreferences/
To: jan.dakinevich_gmail.com, grehan, neel
Cc: novel, anish, imp, freebsd-virtualization-list
More information about the freebsd-virtualization
mailing list