[PATCH v7 1/7] kvmppc: Driver to manage pages of secure guest
Christoph Hellwig
hch at lst.de
Sat Sep 7 02:32:41 AEST 2019
On Fri, Sep 06, 2019 at 05:06:39PM +0530, Bharata B Rao wrote:
> > Also is bit 56+ a set of values, so is there 1 << 56 and 3 << 56 as well? Seems
> > like even that other patch doesn't fully define these "pfn" values.
>
> I realized that the bit numbers have changed, it is no longer bits 60:56,
> but instead top 8bits.
>
> #define KVMPPC_RMAP_UVMEM_PFN 0x0200000000000000
> static inline bool kvmppc_rmap_is_uvmem_pfn(unsigned long *rmap)
> {
> return ((*rmap & 0xff00000000000000) == KVMPPC_RMAP_UVMEM_PFN);
> }
In that overall scheme I'd actually much prefer something like (names
just made up, they should vaguely match the spec this written to):
static inline unsigned long kvmppc_rmap_type(unsigned long *rmap)
{
return (rmap & 0xff00000000000000);
}
And then where you check it you can use:
if (kvmppc_rmap_type(*rmap) == KVMPPC_RMAP_UVMEM_PFN)
and where you set it you do:
*rmap |= KVMPPC_RMAP_UVMEM_PFN;
as in the current patch to keep things symmetric.
More information about the Linuxppc-dev
mailing list