| 
    
 [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] What is machine address?
 
>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. 
 
 
  | 
  
![]()  | 
            
         Lists.xenproject.org is hosted with RackSpace, monitoring our  |