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

Re: [Xen-devel] What is machine address?

To: Chengyuan Li <chengyuanli@xxxxxxxxx>
Subject: Re: [Xen-devel] What is machine address?
From: Steven Hand <Steven.Hand@xxxxxxxxxxxx>
Date: Thu, 16 Sep 2004 09:27:58 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxxx, Steven.Hand@xxxxxxxxxxxx
Delivery-date: Thu, 16 Sep 2004 09:27:58 +0100
Envelope-to: Steven.Hand@xxxxxxxxxxxx
In-reply-to: Message from Chengyuan Li <chengyuanli@xxxxxxxxx> of "Thu, 16 Sep 2004 16:08:52 +0800." <d2ab7650040916010845640603@xxxxxxxxxxxxxx>
>I find the words "machine->physical mapping" in Xen's source code.
>What's the "machine address" ? And what's the difference between
>machine address and physical address?

Machine address[*] = address of a piece of RAM (starting at 0 and going
up to the amount of memory you have in your actual machine). 

Physical address = address of a piece of memory used by a guest operating
system (starting at 0 and going up to the amount of memory you have in 
that particular virtual machine). 

Simplified[+] example: your PC has 128Mb of memory. You run 2 virtual 
machines (domain 0 and domain 1) each with 64Mb of memory. 
For the guest OS in domain 0, physical addresses = machine addresses. 
For the guest OS in domain 1, physical address X = machine address 64Mb+X

hope this helps, 

cheers,

S.


[*] I'm ignoring non RAM machine adresses (e.g. bus addresses) here 
    for simplicitiy. 

[+] in reality (a) Xen takes some memory so no Guest actually has 
    identical machine and physical addresses (b) the mappings aren't
    necessarily as simple as that given above - in general any physical
    page in any guest OS can map to any machine page. This is what the 
    machine-to-phys and phys-to-machine tables are all about. 




<Prev in Thread] Current Thread [Next in Thread>