[PATCH v4 19/21] KVM: arm64: Remove unused page-table code

Will Deacon will at kernel.org
Thu Sep 10 06:54:09 EDT 2020


On Tue, Sep 08, 2020 at 11:33:35AM +0100, Marc Zyngier wrote:
> On 2020-09-07 16:23, Will Deacon wrote:
> > diff --git a/arch/arm64/include/asm/pgtable-hwdef.h
> > b/arch/arm64/include/asm/pgtable-hwdef.h
> > index 1a989353144e..bb97d464f42b 100644
> > --- a/arch/arm64/include/asm/pgtable-hwdef.h
> > +++ b/arch/arm64/include/asm/pgtable-hwdef.h
> > @@ -172,23 +172,6 @@
> >  #define PTE_ATTRINDX(t)		(_AT(pteval_t, (t)) << 2)
> >  #define PTE_ATTRINDX_MASK	(_AT(pteval_t, 7) << 2)
> > 
> > -/*
> > - * 2nd stage PTE definitions
> > - */
> > -#define PTE_S2_RDONLY		(_AT(pteval_t, 1) << 6)   /* HAP[2:1] */
> > -#define PTE_S2_RDWR		(_AT(pteval_t, 3) << 6)   /* HAP[2:1] */
> > -#define PTE_S2_XN		(_AT(pteval_t, 2) << 53)  /* XN[1:0] */
> > -#define PTE_S2_SW_RESVD		(_AT(pteval_t, 15) << 55) /* Reserved for SW
> > */
> > -
> > -#define PMD_S2_RDONLY		(_AT(pmdval_t, 1) << 6)   /* HAP[2:1] */
> > -#define PMD_S2_RDWR		(_AT(pmdval_t, 3) << 6)   /* HAP[2:1] */
> > -#define PMD_S2_XN		(_AT(pmdval_t, 2) << 53)  /* XN[1:0] */
> > -#define PMD_S2_SW_RESVD		(_AT(pmdval_t, 15) << 55) /* Reserved for SW
> > */
> > -
> > -#define PUD_S2_RDONLY		(_AT(pudval_t, 1) << 6)   /* HAP[2:1] */
> > -#define PUD_S2_RDWR		(_AT(pudval_t, 3) << 6)   /* HAP[2:1] */
> > -#define PUD_S2_XN		(_AT(pudval_t, 2) << 53)  /* XN[1:0] */
> > -
> >  /*
> >   * Memory Attribute override for Stage-2 (MemAttr[3:0])
> >   */
> 
> This breaks the (still out of tree) NV patches, which use some of
> these definitions as part of the architectural S2 PTW.
> 
> I can either keep a KVM-private copy, or revert this hunk. What do
> you think?

I'd be inclined to stick a private copy in your .c file, and perhaps we can
try to move NV over to the new page-table code in the future (which will
definitely need some extensions to handle the walk).

Will



More information about the linux-arm-kernel mailing list