[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 3 of 4] xen/pagetables: Document that all of the initial regions are mapped



>>> On 22.08.12 at 17:24, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
wrote:
> On Wed, 22 Aug 2012, Konrad Rzeszutek Wilk wrote:
>> On Wed, Aug 22, 2012 at 03:17:04PM +0100, Jan Beulich wrote:
>> > >>> On 21.08.12 at 22:08, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> 
>> > >>> wrote:
>> > > # HG changeset patch
>> > > # User Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
>> > > # Date 1345579709 14400
>> > > # Node ID 74bedb086c5b72447262e087c0218b89f8bc9140
>> > > # Parent  8ed3eef706710c9c476a8d984bfb2861d92bedfb
>> > > xen/pagetables: Document that all of the initial regions are mapped.
>> > > 
>> > > The documentation states that the layout of the initial region looks
>> > > as so:
>> > >    a. relocated kernel image
>> > >    b. initial ram disk              [mod_start, mod_len]
>> > >    c. list of allocated page frames [mfn_list, nr_pages]
>> > >       (unless relocated due to XEN_ELFNOTE_INIT_P2M)
>> > >    d. start_info_t structure        [register ESI (x86)]
>> > >    e. bootstrap page tables         [pt_base, CR3 (x86)]
>> > >    f. bootstrap stack               [register ESP (x86)]
>> > > 
>> > > But it does not clarify that the virtual address to all of
>> > > those areas is initially mapped by the pt_base (or CR3).
>> > > Lets fix that.
>> > 
>> > To me this is already being said by "This the order of bootstrap
>> > elements in the initial virtual region".
>> 
>> Stefano wanted to make sure we have it written as clear as possible.
>> I am going to be a good little submitter and let you guys sort this
>> one out  :-)
> 
> Let's step back for a second and see if I understand correctly: your
> patch 6/11 removes the call to xen_map_identity_early on x86_64 because
> "Xen provides us with all the memory mapped that we need to function".
> 
> The original xen_map_identity_early maps up to max_pfn, that is
> xen_start_info->nr_pages, so I am assuming that what you meant is that
> "Xen provides us with all the memory already mapped in the bootstrap
> page tables".
> And that is not written anywhere in the Xen headers.
> 
> Therefore, if I understand the issue correctly, I would add the
> following to xen.h:
> 
> "On x86_64 the bootstrap page tables map all the pages assigned to the
> domain."

That certainly is not the case (and can't be - remember that the
virtual space on x86-64 Linux'es initial mapping starts 2Gb from the
end of address space, so how could all memory possibly be mapped
[i.e. to what virtual addresses would those mappings be done]).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.