From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: Re: [Patch V5 13/16] xen: add explicit memblock_reserve() calls for special pages Date: Mon, 13 Jul 2015 06:10:23 +0200 Message-ID: <55A33A2F.2060300@suse.com> References: <1436532481-1224-1-git-send-email-jgross@suse.com> <1436532481-1224-14-git-send-email-jgross@suse.com> <20150710133602.GH23038@l.oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20150710133602.GH23038@l.oracle.com> Sender: linux-kernel-owner@vger.kernel.org To: Konrad Rzeszutek Wilk Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com, david.vrabel@citrix.com, boris.ostrovsky@oracle.com List-Id: xen-devel@lists.xenproject.org On 07/10/2015 03:36 PM, Konrad Rzeszutek Wilk wrote: >> 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. And this dom1 would still be the "initial domain" (SIF_INITDOMAIN set)? I couldn't spot other Xen usage of this flag as the one in the hypervisor when constructing the "real" initial domain. > Is there an way to figure out whether these mfns are valid and just > piggyback on that? For store_mfn: yes (it's initialized to 0 by the hypervisor). The console mfn: no, as the console info is a union which will hold different information in case of the initial domain. Juergen