lkml.org 
[lkml]   [2015]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Patch V5 13/16] xen: add explicit memblock_reserve() calls for special pages
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


\
 
 \ /
  Last update: 2015-07-13 06:41    [W:0.083 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site