Thread (16 messages) 16 messages, 5 authors, 2015-08-06

Re: [Xen-devel] [PATCH v2 4/8] xen: Use the correctly the Xen memory terminologies

From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Date: 2015-08-05 12:45:51
Also in: linux-arm-kernel, linux-input, linux-scsi, linuxppc-dev, lkml, netdev

On 08/05/2015 08:33 AM, Julien Grall wrote:
On 05/08/15 13:19, Boris Ostrovsky wrote:
quoted
On 08/05/2015 06:51 AM, Julien Grall wrote:
quoted
quoted
quoted
diff --git a/drivers/video/fbdev/xen-fbfront.c
b/drivers/video/fbdev/xen-fbfront.c
index 09dc447..25e3cce 100644
--- a/drivers/video/fbdev/xen-fbfront.c
+++ b/drivers/video/fbdev/xen-fbfront.c
@@ -539,7 +539,7 @@ static int xenfb_remove(struct xenbus_device *dev)
      static unsigned long vmalloc_to_mfn(void *address)
    {
-    return pfn_to_mfn(vmalloc_to_pfn(address));
+    return pfn_to_gfn(vmalloc_to_pfn(address));
    }
Are you sure? This will return vmalloc_to_pfn(address)).
I guess you mean vmalloc_to_mfn will return vmalloc_to_pfn?

If so, it will be only the case on auto-translated case (because pfn =
gfn). In the case of PV, the mfn will be returned.
How will mfn be returned on PV when pfn_to_gfn() is an identity function?

static inline unsigned long pfn_to_gfn(unsigned long pfn)
  {
      return pfn;
  }
The identity function is only for ARM guest which are always
auto-translated (arch/arm/include/asm/xen/page.h).

The x86 version contains a check if the guest is auto-translated or not
(arch/x86/include/asm/xen/page.):

static inline unsigned long pfn_to_gfn(unsigned long pfn)
{
         if (xen_feature(XENFEAT_auto_translated_physmap))
                 return pfn;
         else
                 return pfn_to_mfn(pfn);
}
Of course --- I was looking at the top of the patch and didn't realize 
it was ARM changes. Sorry for the noise.

-boris
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help