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

Re: [Xen-devel] Xen at scale



>
> Now it would seem easy to just not map the memory which will end up in
> highmem but we need to have all the memory mapped initially so that we can
> build the phys_to_machine_mapping array.  I believe you can't build it only
> from the machine_to_phys_mapping array provided by Xen since you don't know
> which pages belong to the domain...

The {DragonFly/Free}BSD domain builder sets the page tables up a little
differently. It populates the phys_to_machine array before starting
the domain - mapping it at a pre-determined address relative to
KERNBASE. In addition it only maps the ktext and a stack page - the
remainder of the pages are mapped at runtime by the same pmap_init used
on native i386.

> I think I would map the highmem pages starting at VA 0, the alternative
> seems to be to pass an array with the page numbers to the domain.

This is done for all pages with a pre-established P->M mapping. The
domain builder passes in the number of pages used by the domain builder
via a register. This is equivalent to the way native locore.s passes
physfree (the address of the first free physical page) to init386.

> Maybe there's a simpler solution?

I don't think passing an array is more complicated.

                -Kip


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


 


Rackspace

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