hi, 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? ------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
>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.
MA = machine address PA = physical address VA = virtual On Thu, 16 Sep 2004, Steven Hand wrote:> 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).On real machines, PAs == the real hardware. On Xen domains, PAs == not real hardware. Xen actually virtualize physical addresses, so although the PA range in an OS may be linear and contiguous, the underlying MAs are not. At some point I want to fix up Plan 9 to ignore PAs entirely and just VA and MA, but that''s for later. The concept of a PA has no real meaning anyway at this point, so I see no reason to deal with it. ron
How does Plan 9 efficiently handle a large number fragmented memory ranges? FreeBSD can do it, but not well enough to eliminate the PA/MA dichotomy? -Kip On Thu, 16 Sep 2004, Ronald G. Minnich wrote:> > MA = machine address > PA = physical address > VA = virtual > On Thu, 16 Sep 2004, Steven Hand wrote: > > > 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). > > On real machines, PAs == the real hardware. > > On Xen domains, PAs == not real hardware. > Xen actually virtualize physical addresses, so although the PA range in an > OS may be linear and contiguous, the underlying MAs are not. > > At some point I want to fix up Plan 9 to ignore PAs entirely and just VA > and MA, but that''s for later. The concept of a PA has no real meaning > anyway at this point, so I see no reason to deal with it. > > ron > > > ------------------------------------------------------- > This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 > Project Admins to receive an Apple iPod Mini FREE for your judgement on > who ports your project to Linux PPC the best. Sponsored by IBM. > Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/xen-devel >
On Thu, 16 Sep 2004, Kip Macy wrote:> How does Plan 9 efficiently handle a large number fragmented memory > ranges? FreeBSD can do it, but not well enough to eliminate the PA/MA > dichotomy?No, what I mean here is that Plan 9 would run with virtually contiguous ranges but physically discontiguous ranges. I can''t seen any reason it won''t work (yet). But hell, I have to get my corrupted receive ethernet packets fixed first :-) :-( ron