To create a XenoLinux domain, all the real physical page frames are
allocated for
domain as required. Another special page frame, called
shared_info_frame is also
created, but no accounted for the domain.
To build a XenoLinux domain, kernel image (and possibly initrd image)
are loaded
by opening /dev/mem, each time mmap 4K of it into virtual space and
memcpy image
content into the page. Then, from the last virtual page backwards, page
directory
and page tables are built. And before the last page table page is a
page containing
information to start the domain. This building process requires Dom0
sees the entire
real physical memory via /dev/mem, even if only part of the total real
physical memory
is assigned to Dom0.
Following is the XenoLinux domain startup virtual space map:
-- Bin
+-----------------------+ <------- loading virtual address,
0xC0000000 for XenoLinux
| kernel image |
| 1st page, 4K |
+-----------------------+
| kernel image |
| 2nd page, 4K |
+-----------------------+
............
+-----------------------+
| kernel image |
| last page, 4K |
+-----------------------+
| initrd image |
| 1st page, 4K |
+-----------------------+
| initrd image |
| 2nd page, 4K |
+-----------------------+
............
+-----------------------+
| initrd image |
| last page, 4K |
+-----------------------+
............
+-----------------------+
| start_info page | <------- domain start information, including
pt_base = page
| 4K | directory start address (virtual),
initrd start address & length
+-----------------------+ total number of pages, shared_info_frame
start address
| last page table |
| 4K |
+-----------------------+
............
+-----------------------+
| 2nd page table |
| 4K |
+-----------------------+
| 1st page table | <------- page table, i.e. level 1 page
table, no R/W
| 4K |
+-----------------------+
| page directory | <------- page directory, i.e. level 2 page
table, no R/W
| 4K |
+-----------------------+
............
+-----------------------+ <------- Xen virtual start address,
0xFC000000
| Xen image |
| 1st page 4K |
+-----------------------+
............
+-----------------------+
| Xen image |
| lasst page 4K |
+-----------------------+ <------- 0xFFFFFFFF
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel
|