On 22.12.2022 23:31, Demi Marie Obenour wrote: > --- a/xen/arch/x86/mm.c > +++ b/xen/arch/x86/mm.c > @@ -6352,6 +6352,11 @@ unsigned long get_upper_mfn_bound(void) > return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1; > } > > + > +/*
Nit: Please avoid introducing double blank lines. > + * A bunch of static assertions to check that the XEN_MSR_PAT is valid > + * and consistent with the _PAGE_* macros, and that _PAGE_WB is zero. This comment is too specific for a function of ... > + */ > static void __init __maybe_unused build_assertions(void) ... this name, in this file. > @@ -6361,6 +6366,71 @@ static void __init __maybe_unused > build_assertions(void) > * using different PATs will not work. > */ > BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL); > + > + /* > + * _PAGE_WB must be zero for several reasons, not least because Linux > + * PV guests assume it. > + */ > + BUILD_BUG_ON(_PAGE_WB); > + > +#define PAT_ENTRY(v) > \ > + (BUILD_BUG_ON_ZERO(((v) < 0) || ((v) > 7)) + > \ > + (0xFF & (XEN_MSR_PAT >> (8 * (v))))) > + > + /* Validate at compile-time that v is a valid value for a PAT entry */ > +#define CHECK_PAT_ENTRY_VALUE(v) > \ > + BUILD_BUG_ON((v) < 0 || (v) > 7 || > \ See my v5 comments. Jan
