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

[Xen-devel] start of day mem layout


  • To: xen-devel@xxxxxxxxxxxxxxxxxxxxx
  • From: Richard <judicator3@xxxxxxxxx>
  • Date: Thu, 17 Mar 2005 16:11:10 -0500
  • Delivery-date: Thu, 17 Mar 2005 21:12:50 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding; b=r55jpc1ITSylJkazXO+k+rRWZ6pHTb/QuthgdFX90DAGDz33+s7iWTZEdixhn4H+/CX7HILoSIyYO3njrLDg5rWX8R5vMPfx6G6wbguBP4LyEyeRy3lYsy49xNeFozLcZMbif/PkXzpqtSHHX/Vlt1xaRC+UONSl4HDP+SJ9p58=
  • List-id: List for Xen developers <xen-devel.lists.sourceforge.net>

Hi,

I am working on updating the mini-os to work on XEN 2.0. I am
currently working on the memory management part of mini-os. I am
trying to undestand the start of day memory layout that the guest
domain (mini-os) gets from XEN when it 1st boots up. From what I
undestand, 4 MB of memory are already mapped and virtual memory
from 0xC000_0000 to 0xC040_0000 (4MB) are accessible. XEN already
allocates a pgd and ONE page table for this 4MB vritual memory
mapping.

I am booting mini-os with 16 MB of memory and these are the
information I get:

shared_info                0xc0001000
pfn_to_mfn                 0xc0010000
Page Global Directory      0xc0014000
Page Table                 0xc0015000
start_info                 0xc0016000

Also, I think my kernel image contains some symbols such as _text,
_etext, _edata, _end. 

 _text                     0xc0000000
_etext                     0xc0007c04
_edata                     0xc000d2c0
_end                       0x819

I try to draw the virtual mem layout below. Sorry if it does not
appear correctly because of different fonts.

               _edata             start_info
               c000d2c0             c0016000
  shared_info    |            PGD    |
   c0001000      |         c0014000  |
       |         |             |     | 
  ------------------------------------------
  |    |    |    |    |        |  |  |
  |    |    |    |    |        |  |  |
  |    |    |    |    |        |  |  |
  ------------------------------------------
  |         |         |           |
  c0000000  |       c0010000    c0015000  
  _text     |      pfn_to_mfn      PT
            |
          _etext         
          c0007c04

I have a few questions. If someone could give some feedback that
would be very appreciated.

I am not sure if those symbols _text, _etext, _edata and _end are
meaningful or not, but is it correct to have the shared_info in the
middle of my kernel image between _text and _etext ?

The default control ring between domain0 and a guest OS is found
at shared_info + 2048 offset, is that still valid ?

Is there anything important after the start_info structure ?
Is address starting at c0016000 + sizeof(start_info) available
to use ?  

Also my _end symbol is found at address 0x819, so I don't quite
udnestand that. Maybe something wrong I am doing in the linking
process of my kernel image.

Thanks
Richard


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&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®.