[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/7] xen/mmu: Release the Xen provided L4 (PGD) back.
On Thu, 26 Jul 2012, Konrad Rzeszutek Wilk wrote: > Since we are not using it and somebody else could use it. make sense except it is almost entirely rewritten by the following patch... > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > --- > arch/x86/xen/mmu.c | 13 +++++++------ > 1 files changed, 7 insertions(+), 6 deletions(-) > > diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c > index a59070b..48bdc9f 100644 > --- a/arch/x86/xen/mmu.c > +++ b/arch/x86/xen/mmu.c > @@ -1782,20 +1782,21 @@ void __init xen_setup_kernel_pagetable(pgd_t *pgd, > unsigned long max_pfn) > /* Unpin Xen-provided one */ > pin_pagetable_pfn(MMUEXT_UNPIN_TABLE, PFN_DOWN(__pa(pgd))); > > - /* Switch over */ > - pgd = init_level4_pgt; > - > /* > * At this stage there can be no user pgd, and no page > * structure to attach it to, so make sure we just set kernel > * pgd. > */ > xen_mc_batch(); > - __xen_write_cr3(true, __pa(pgd)); > + __xen_write_cr3(true, __pa(init_level4_pgt)); > xen_mc_issue(PARAVIRT_LAZY_CPU); > > - memblock_reserve(__pa(xen_start_info->pt_base), > - xen_start_info->nr_pt_frames * PAGE_SIZE); > + /* Offset by one page since the original pgd is going bye bye */ > + memblock_reserve(__pa(xen_start_info->pt_base + PAGE_SIZE), > + (xen_start_info->nr_pt_frames * PAGE_SIZE) - > PAGE_SIZE); > + /* and also RW it so it can actually be used. */ > + set_page_prot(pgd, PAGE_KERNEL); > + clear_page(pgd); > } > #else /* !CONFIG_X86_64 */ > static RESERVE_BRK_ARRAY(pmd_t, initial_kernel_pmd, PTRS_PER_PMD); > -- > 1.7.7.6 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |