Re: [Patch V5 13/16] xen: add explicit memblock_reserve() calls for special pages

From: Konrad Rzeszutek Wilk
Date: Fri Jul 10 2015 - 09:36:20 EST


> diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
> index 1982617..c28f7f7 100644
> --- a/arch/x86/xen/mmu.c
> +++ b/arch/x86/xen/mmu.c
> @@ -2084,6 +2084,19 @@ void __init xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn)
> }
> #endif /* CONFIG_X86_64 */
>
> +void __init xen_reserve_special_pages(void)
> +{
> + phys_addr_t paddr;
> +
> + memblock_reserve(__pa(xen_start_info), PAGE_SIZE);
> + if (!xen_initial_domain()) {
> + paddr = PFN_PHYS(mfn_to_pfn(xen_start_info->store_mfn));
> + memblock_reserve(paddr, PAGE_SIZE);
> + paddr = PFN_PHYS(mfn_to_pfn(xen_start_info->console.domU.mfn));
> + memblock_reserve(paddr, PAGE_SIZE);
> + }

I believe we can start an MiniOS as the 'dom0' (so first domain), and then
Linux right after as the 'dom1' (semi-dom0?). In which case XenStore would
be actually available.

Is there an way to figure out whether these mfns are valid and just
piggyback on that?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/