xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com,
	david.vrabel@citrix.com, boris.ostrovsky@oracle.com
Subject: Re: [Patch V5 13/16] xen: add explicit memblock_reserve() calls for special pages
Date: Mon, 13 Jul 2015 06:10:23 +0200	[thread overview]
Message-ID: <55A33A2F.2060300@suse.com> (raw)
In-Reply-To: <20150710133602.GH23038@l.oracle.com>

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

  reply	other threads:[~2015-07-13  4:10 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-10 12:47 [Patch V5 00/16] xen: support pv-domains larger than 512GB Juergen Gross
2015-07-10 12:47 ` [Patch V5 01/16] xen: sync with xen headers Juergen Gross
2015-07-10 12:47 ` [Patch V5 02/16] xen: save linear p2m list address in shared info structure Juergen Gross
2015-07-10 12:47 ` [Patch V5 03/16] xen: don't build mfn tree if tools don't need it Juergen Gross
2015-07-10 12:47 ` [Patch V5 04/16] xen: eliminate scalability issues from initial mapping setup Juergen Gross
2015-07-10 12:47 ` [Patch V5 05/16] xen: move static e820 map to global scope Juergen Gross
2015-07-10 12:47 ` [Patch V5 06/16] xen: split counting of extra memory pages from remapping Juergen Gross
2015-07-10 12:47 ` [Patch V5 07/16] xen: check memory area against e820 map Juergen Gross
2015-07-10 12:47 ` [Patch V5 08/16] xen: find unused contiguous memory area Juergen Gross
2015-07-10 12:47 ` [Patch V5 09/16] xen: check for kernel memory conflicting with memory layout Juergen Gross
2015-07-10 12:47 ` [Patch V5 10/16] xen: check pre-allocated page tables for conflict with memory map Juergen Gross
2015-07-10 12:47 ` [Patch V5 11/16] xen: check for initrd conflicting with e820 map Juergen Gross
2015-07-10 12:47 ` [Patch V5 12/16] mm: provide early_memremap_ro to establish read-only mapping Juergen Gross
2015-07-10 12:47 ` [Patch V5 13/16] xen: add explicit memblock_reserve() calls for special pages Juergen Gross
2015-07-10 13:36   ` Konrad Rzeszutek Wilk
2015-07-13  4:10     ` Juergen Gross [this message]
2015-07-13 14:01       ` Konrad Rzeszutek Wilk
2015-07-10 12:47 ` [Patch V5 14/16] xen: move p2m list if conflicting with e820 map Juergen Gross
2015-07-10 12:48 ` [Patch V5 15/16] xen: allow more than 512 GB of RAM for 64 bit pv-domains Juergen Gross
2015-07-10 12:48 ` [Patch V5 16/16] xen: remove no longer needed p2m.h Juergen Gross
2015-07-10 13:39 ` [Patch V5 00/16] xen: support pv-domains larger than 512GB Konrad Rzeszutek Wilk
2015-07-15  4:26   ` Juergen Gross
2015-07-15 12:07     ` Konrad Rzeszutek Wilk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55A33A2F.2060300@suse.com \
    --to=jgross@suse.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=david.vrabel@citrix.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).