[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 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."



> > 
> > Jan
> > 
> > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> > > 
> > > diff -r 8ed3eef70671 -r 74bedb086c5b xen/include/public/xen.h
> > > --- a/xen/include/public/xen.h    Tue Aug 21 16:08:29 2012 -0400
> > > +++ b/xen/include/public/xen.h    Tue Aug 21 16:08:29 2012 -0400
> > > @@ -675,6 +675,9 @@ typedef struct shared_info shared_info_t
> > >   *  8. There is guaranteed to be at least 512kB padding after the final
> > >   *     bootstrap element. If necessary, the bootstrap virtual region is
> > >   *     extended by an extra 4MB to ensure this.
> > > + *
> > > + *  NOTE: The initial virtual region (3a -> 3f) are all mapped by the 
> > > initial
> > > + *  pagetables [pt_base, CR3 (x86)].
> > >   */
> > >  
> > >  #define MAX_GUEST_CMDLINE 1024


_______________________________________________
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®.