From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ahmed Azab Subject: Xen's Code location Date: Tue, 23 Jun 2009 11:58:48 -0400 Message-ID: <4A40FBB8.8020806@ncsu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Hi all, I was inspecting Xen trying to understand the mechanism of booting the hypervisor and the way Xen's memory is managed inside its own address space. I am using x86/32-bit Xen with PAE. According to the documents, Xen should occupy the highest 168 MB of the address space (i.e. higher than 0xf5800000). I have two questions: 1- What are the boundaries of the different sections (code, ro data, heap, etc..) with this address space? I searched within Xen's source but I got now clue about the location Xen's code is mapped. I used objdump on the booted Xen kernel and is said that there is only one section, which is .text, that should be loaded at 0x0010000 which is not even a high address. I inspected the function __start_xen in setup.c but it does not do any code address relocation. Finally, I inspected Xen's GDT and I found that it used a flat segmentation structure (4 GB per segment) 2-Is there any page protection within Xen's address space? I noticed that all mapped pages are executable which is supposed to include Xen's stack and heap. Thanks, Ahmed