[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen: arm: remove hardcoded gnttab location from dom0
On 12/03/2013 03:04 PM, Ian Campbell wrote: > The DT provided to guests (including dom0) includes a Xen node which, among > other things, describes an MMIO region which can be safely used for grant > table mappings (i.e. it is a hole in the physical address space). For domU we > provide a hardcoded values based on our hardcoded guest virtual machine > layout. However for dom0 we need to fit in with the underlying platform. > Leaving this hardcoded was an oversight which on some platforms could result > in the grant table overlaying RAM or MMIO regions which are in use by domain > 0. > > For the 4.4 release do as we did with the dom0 evtchn PPI and provide a hook > for the platform code to supply a suitable hardcoded address for the platform > (derived from reading the data sheet). Platforms which do not provide the hook > get the existing address as a default. > > After 4.4 we should switch to selecting a region of host RAM which is not RAM > in the guest address map. This should be more flexible and safer but the patch > was looking too complex for 4.4. > > Platform Gnttab Address > ======== ============== > exynos5.c 0xb0000000, confirmed with Julien. > sunxi.c 0x01d00000, confirmed in data sheet. > midway.c 0xff800000, confirmed with Andre, boot tested. > vexpress.c 0xb0000000, existing hardcoded value was selected for > vexpress. > omap5.c 0xb0000000, no datasheet, looks safe in DTB. > xgene-storm.c 0x1f800000, reserved according to datasheet, boot tested. > > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > Cc: Julien.Grall@xxxxxxxxxx > Cc: Stefano.Stabellini@xxxxxxxxxxxxx > Cc: Andre Przywara <andre.przywara@xxxxxxxxxx> > Cc: Chen Baozi <baozich@xxxxxxxxx> > Cc: Pranavkumar Sawargaonkar <psawargaonkar@xxxxxxx> > Cc: Anup Patel <apatel@xxxxxxx> > --- > xen/arch/arm/domain_build.c | 7 +++++-- > xen/arch/arm/platform.c | 14 ++++++++++++++ > xen/arch/arm/platforms/midway.c | 3 +++ > xen/arch/arm/platforms/sunxi.c | 3 +++ > xen/arch/arm/platforms/xgene-storm.c | 3 +++ > xen/include/asm-arm/platform.h | 7 +++++++ > 6 files changed, 35 insertions(+), 2 deletions(-) > > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c > index be39686..332e937 100644 > > /* > diff --git a/xen/include/asm-arm/platform.h b/xen/include/asm-arm/platform.h > index 5900ee4..bda4e41 100644 > --- a/xen/include/asm-arm/platform.h > +++ b/xen/include/asm-arm/platform.h > @@ -41,6 +41,12 @@ struct platform_desc { > * The IRQ (PPI) to use to inject event channels to dom0. > */ > unsigned int dom0_evtchn_ppi; > + /* > + * The location of a region of physical address space which dom0 > + * can use for grant table mappings. If size is zero defaults to > + * 0xb0000000-0xb0020000. > + */ > + paddr_t dom0_gnttab_start, dom0_gnttab_size; The size looks the same everywhere, can we just hardcode the base address per platform? -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |