On Tue, Apr 05, 2022, Paolo Bonzini wrote: > On 3/4/22 20:49, isaku.yamahata@xxxxxxxxx wrote: > > @@ -207,9 +209,17 @@ extern u64 __read_mostly shadow_nonpresent_or_rsvd_mask; > > /* Removed SPTEs must not be misconstrued as shadow present PTEs. */ > > static_assert(!(REMOVED_SPTE & SPTE_MMU_PRESENT_MASK)); > > +/* > > + * See above comment around REMOVED_SPTE. SHADOW_REMOVED_SPTE is the actual > > + * intermediate value set to the removed SPET. When TDX is enabled, it sets > > + * the "suppress #VE" bit, otherwise it's REMOVED_SPTE. > > + */ > > +extern u64 __read_mostly shadow_init_value; > > +#define SHADOW_REMOVED_SPTE (shadow_init_value | REMOVED_SPTE) > > Please rename the existing REMOVED_SPTE to REMOVED_SPTE_MASK, and call this > simply REMOVED_SPTE. This also makes the patch smaller. Can we name it either __REMOVE_SPTE or REMOVED_SPTE_VAL? It's most definitely not a mask, it's a full value, e.g. spte |= REMOVED_SPTE_MASK is completely wrong. Other than that, 100% agree with avoiding churn.