[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 06/10] x86/hvm: pkeys, add functions to get pkeys value from PTE
>>> On 16.11.15 at 15:16, <andrew.cooper3@xxxxxxxxxx> wrote: > On 16/11/15 10:31, Huaitong Han wrote: >> +#define _PAGE_PKEY_BIT0 19 /* Protection Keys, bit 1/4 */ >> +#define _PAGE_PKEY_BIT1 20 /* Protection Keys, bit 2/4 */ >> +#define _PAGE_PKEY_BIT2 21 /* Protection Keys, bit 3/4 */ >> +#define _PAGE_PKEY_BIT3 22 /* Protection Keys, bit 4/4 */ >> + >> +#define get_pte_pkeys(x) ((int)(get_pte_flags(x) >> _PAGE_PKEY_BIT0) & 0xF) > > Please implemented these as masks, for consistency with the other > _PAGE_* entries. I would recommend also having a _SHIFT and _MASK define. Since _SHIFT can always be calculated from _MASK, and since we have MASK_{INSR,EXTR}(), I'd prefer just _MASK ones to be added, unless this results in significantly less readable code. >> + >> /* Bit 23 of a 24-bit flag mask. This corresponds to bit 63 of a pte.*/ >> #define _PAGE_NX_BIT (1U<<23) >> > > There is however another issue. Xen currently uses bit 62 for software > purposes, which is incompatible with enabling PKE. _PAGE_GNTTAB needs > moving to a different, software-available bit. I would recommend bit 13 > of flags, adjacent to _PAGE_GUEST_KERNEL which is our other > software-used flag. Can we in fact do that? _PAGE_GNTTAB is visible to PV guests, and those guests need to avoid using that flag for their own purposes. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |