[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/4] xen/x86: Use memblock_reserve for sensitive areas.
On Fri, 27 Jul 2012, Konrad Rzeszutek Wilk wrote: > On Fri, Jul 27, 2012 at 11:49:02AM +0100, Stefano Stabellini wrote: > > On Thu, 26 Jul 2012, Konrad Rzeszutek Wilk wrote: > > > instead of a big memblock_reserve. This way we can be more > > > selective in freeing regions (and it also makes it easier > > > to understand where is what). > > > > > > [v1: Move the auto_translate_physmap to proper line] > > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > > > --- > > > arch/x86/xen/enlighten.c | 38 ++++++++++++++++++++++++++++++++++++++ > > > arch/x86/xen/p2m.c | 5 +++++ > > > arch/x86/xen/setup.c | 9 --------- > > > 3 files changed, 43 insertions(+), 9 deletions(-) > > > > > > diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c > > > index ff962d4..9b1afa4 100644 > > > --- a/arch/x86/xen/enlighten.c > > > +++ b/arch/x86/xen/enlighten.c > > > @@ -998,7 +998,44 @@ static int xen_write_msr_safe(unsigned int msr, > > > unsigned low, unsigned high) > > > > > > return ret; > > > } > > > +static void __init xen_reserve_mfn(unsigned long mfn) > > > +{ > > > + unsigned long pfn; > > > + > > > + if (!mfn) > > > + return; > > > + pfn = mfn_to_pfn(mfn); > > > + if (phys_to_machine_mapping_valid(pfn)) > > > + memblock_reserve(PFN_PHYS(pfn), PAGE_SIZE); > > > +} > > > > If the mfn is not in the m2p xen_reserve_mfn won't do anything. It is > > worth writing it down in a comment. > > Meaning in a printk? I meant a comment in the code. > > > +static void __init xen_reserve_internals(void) > > > +{ > > > + unsigned long size; > > > + > > > + if (!xen_pv_domain()) > > > + return; > > > + > > > + memblock_reserve(__pa(xen_start_info), PAGE_SIZE); > > > > xen_start_info is not in the m2p, so you cannot use xen_reserve_mfn > > It seems to work for me. For both the toolstack created guests > and dom0. Let me double check thought. I was just thinking out loud: you are calling memblock_reserve rather than xen_reserve_mfn, because xen_reserve_mfn wouldn't work in this case as xen_start_info is not in the m2p. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |