[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 04/10] xen/arm: Store p2m type in each page of the guest
On Mon, 2013-12-16 at 17:37 +0000, Julien Grall wrote: > Use the field 'avail' to store the type of the page. Rename it to 'type' for > convenience. > The information stored in this field will be retrieved in a future patch to > change the behaviour when the page is removed. > > Also introduce guest_physmap_add_entry to map and set a specific p2m type for > a page. > > Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> > > --- > Changes in v5: > - Foreign mapping doesn't need to have execution right Neither does MMIO for that matter... > > + switch (t) > + { > + case p2m_map_foreign: > + case p2m_grant_map_rw: > + e.p2m.xn = 1; > + /* Fallthrough */ > + case p2m_ram_rw: > + case p2m_mmio_direct: ... so move this up. > + e.p2m.write = 1; > + break; > + > + case p2m_grant_map_ro: > + e.p2m.xn = 1; > + /* Fallthrough */ > + case p2m_invalid: > + case p2m_ram_ro: > + default: You were going to remove the default case IIRC to let the compiler catch new type additions. > + e.p2m.write = 0; > + } > + >diff --git a/xen/include/asm-arm/page.h b/xen/include/asm-arm/page.h > index 0625464..670d4e7 100644 > --- a/xen/include/asm-arm/page.h > +++ b/xen/include/asm-arm/page.h > @@ -153,7 +153,7 @@ typedef struct { > unsigned long contig:1; /* In a block of 16 contiguous entries */ > unsigned long sbz2:1; > unsigned long xn:1; /* eXecute-Never */ > - unsigned long avail:4; /* Ignored by hardware */ > + unsigned long type:4; /* Ignore by hardware. Used to store p2m > types */ "Ignored" was correct. > > unsigned long sbz1:5; > } __attribute__((__packed__)) lpae_p2m_t; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |