|
|
|
|
|
|
|
|
|
|
xen-devel
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.
|
|
|
|
|