Re: [PATCH V2 3/7] KVM: X86/MMU: Link PAE root pagetable with its children
From: Lai Jiangshan
Date: Thu May 26 2022 - 05:12:43 EST
On Wed, May 18, 2022 at 12:42 AM David Matlack <dmatlack@xxxxxxxxxx> wrote:
>
> Ah of course. e.g. FNAME(fetch) will call is_shadow_present_pte() on PAE
> PDPTEs.
>
> Could you also update the comment above SPTE_MMU_PRESENT_MASK? Right now it
> says: "Use bit 11, as it is ignored by all flavors of SPTEs and checking a low
> bit often generates better code than for a high bit, e.g. 56+." I think it
> would be helpful to also meniton that SPTE_MMU_PRESENT_MASK is also used in
> PDPTEs which only ignore bits 11:9.
>
Hello
Thank you for the review.
I think using BUILD_BUG_ON() in the place that requires the constraint
can avoid exploding comments in the definition since it is a build
time check and there are not too many constraints.
So I didn't change it in V3.
Or better (still using build-time check rather than comments):
#define PT_PTE_IGNORE_BITS xxxx
#define PAE_PTE_IGNORE_BITS xxxx
#define EPT_PTE_IGNORE_BITS xxxx
static_assert(PT_PTE_IGNORE_BITS & PAE_PTE_IGNORE_BITS &
EPT_PTE_IGNORE_BITS & SPTE_MMU_PRESENT_MASK);
Thanks
Lai