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] Confused about Xen memory management.

To: "Rusty Russell" <rusty@xxxxxxxxxxxxxxx>, "Xen Mailing List" <xen-devel@xxxxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] Confused about Xen memory management.
From: "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>
Date: Wed, 16 Feb 2005 06:08:14 -0800
Delivery-date: Wed, 16 Feb 2005 14:09:13 +0000
Envelope-to: xen+James.Bulpin@xxxxxxxxxxxx
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
Thread-index: AcUT79bS5Vd4on2uTgydiWXq0hdtHgAPiHmw
Thread-topic: [Xen-devel] Confused about Xen memory management.
There are notions like "guest/pseudo physical" and "machine physical" in
Xen. Guest physical is basically virtualized physical address space, and
that's the one the bulk of the guest kernel code looks at. That way many
assumptions in the kernel are met, thus we can minimize changes to the
kernel when para-virtualizing. Machine physical is real one (i.e. global
and unique), and the guest needs to use machine physical especially for
inter-domain communications or MMU-related hypercalls typically.

The macro pfn_to_mfn() converts guest physical PFN to machine PFN.
So what you need to do is to give the machine address to Xen like:

(pfn_to_mfn(__pa(foo) >> PAGE_SHIFT) << PAGE_SHIFT) + (foo & (PAGE_SIZE
- 1))

Jun
-----Original Message-----
From: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
[mailto:xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx] On Behalf Of Rusty
Russell
Sent: Tuesday, February 15, 2005 10:22 PM
To: Xen Mailing List
Subject: [Xen-devel] Confused about Xen memory management.

OK, so I am implementing a prototype where Linux hands an address into
Xen, which gets decremented later (ie. when Xen is executing a different
domain).  It seems that map_domain_mem() is what I want, but how do I
get the physical address of the variable?  virt_to_phys() in Linux
doesn't seem to do the trick, nor virt_to_phys() in Xen.

ie, pseudo code:

linux/mydriver.c:
        static int foo = 1;

        // virt_to_phys(foo) maybe?
        HYPERVISOR_mytest(&foo);

xen/common/test.c:
        int mytest(unsigned long addr)
        {
                // virt_to_phys(addr) maybe?
                manip_later->addr = addr;
                return 0;
        }

        // Some time later
        ...
        int *p = map_domain_mem(manip_later->addr);
        (*p)++;
        unmap_domain_mem(p);

Sorry for the stupid question; I hate VM.
Rusty.
-- 
A bad analogy is like a leaky screwdriver -- Richard Braakman



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel

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