WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [DOCUMENT]: XenoLinux domain startup virtual space

To: Devel Xen <xen-devel@xxxxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [DOCUMENT]: XenoLinux domain startup virtual space
From: Bin Ren <br260@xxxxxxxxx>
Date: Thu, 1 Jan 1970 07:23:20 +0100
Delivery-date: Fri, 06 Feb 2004 21:35:32 +0000
Envelope-to: steven.hand@xxxxxxxxxxxx
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [DOCUMENT]: XenoLinux domain startup virtual space, Bin Ren <=