2014-04-18 15:54:46

by Julien Grall

[permalink] [raw]
Subject: [PATCH] arm/xen: Remove definiition of virt_to_pfn in asm/xen/page.h

virt_to_pfn has been defined in asm/memory.h by the commit e26a9e0 "ARM: Better
virt_to_page() handling"

This will result of a compilation warning when CONFIG_XEN is enabled.

arch/arm/include/asm/xen/page.h:80:0: warning: "virt_to_pfn" redefined [enabled by default]
#define virt_to_pfn(v) (PFN_DOWN(__pa(v)))
^
In file included from arch/arm/include/asm/page.h:163:0,
from arch/arm/include/asm/xen/page.h:4,
from include/xen/page.h:4,
from arch/arm/xen/grant-table.c:33:

The definition in memory.h is nearly the same (it directly expand PFN_DOWN),
so we can safely drop virt_to_pfn in xen include.

Signed-off-by: Julien Grall <[email protected]>
---
arch/arm/include/asm/xen/page.h | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm/include/asm/xen/page.h b/arch/arm/include/asm/xen/page.h
index cf4f3e8..ded062f 100644
--- a/arch/arm/include/asm/xen/page.h
+++ b/arch/arm/include/asm/xen/page.h
@@ -77,7 +77,6 @@ static inline xpaddr_t machine_to_phys(xmaddr_t machine)
}
/* VIRT <-> MACHINE conversion */
#define virt_to_machine(v) (phys_to_machine(XPADDR(__pa(v))))
-#define virt_to_pfn(v) (PFN_DOWN(__pa(v)))
#define virt_to_mfn(v) (pfn_to_mfn(virt_to_pfn(v)))
#define mfn_to_virt(m) (__va(mfn_to_pfn(m) << PAGE_SHIFT))

--
1.7.10.4


2014-04-24 12:22:13

by David Vrabel

[permalink] [raw]
Subject: Re: [PATCH] arm/xen: Remove definiition of virt_to_pfn in asm/xen/page.h

On 18/04/14 16:54, Julien Grall wrote:
> virt_to_pfn has been defined in asm/memory.h by the commit e26a9e0 "ARM: Better
> virt_to_page() handling"
>
> This will result of a compilation warning when CONFIG_XEN is enabled.
>
> arch/arm/include/asm/xen/page.h:80:0: warning: "virt_to_pfn" redefined [enabled by default]
> #define virt_to_pfn(v) (PFN_DOWN(__pa(v)))
> ^
> In file included from arch/arm/include/asm/page.h:163:0,
> from arch/arm/include/asm/xen/page.h:4,
> from include/xen/page.h:4,
> from arch/arm/xen/grant-table.c:33:
>
> The definition in memory.h is nearly the same (it directly expand PFN_DOWN),
> so we can safely drop virt_to_pfn in xen include.


This breaks the arm build for me.

/local/davidvr/work/k.org/tip/drivers/block/xen-blkfront.c: In function
?setup_blkring?:
/local/davidvr/work/k.org/tip/drivers/block/xen-blkfront.c:1236:2:
error: implicit declaration of function ?virt_to_pfn?
[-Werror=implicit-function-declaration]
err = xenbus_grant_ring(dev, virt_to_mfn(info->ring.sring));
^

David

2014-04-24 12:49:15

by Julien Grall

[permalink] [raw]
Subject: Re: [PATCH] arm/xen: Remove definiition of virt_to_pfn in asm/xen/page.h

Hi David,

On 04/24/2014 01:22 PM, David Vrabel wrote:
> On 18/04/14 16:54, Julien Grall wrote:
>> virt_to_pfn has been defined in asm/memory.h by the commit e26a9e0 "ARM: Better
>> virt_to_page() handling"
>>
>> This will result of a compilation warning when CONFIG_XEN is enabled.
>>
>> arch/arm/include/asm/xen/page.h:80:0: warning: "virt_to_pfn" redefined [enabled by default]
>> #define virt_to_pfn(v) (PFN_DOWN(__pa(v)))
>> ^
>> In file included from arch/arm/include/asm/page.h:163:0,
>> from arch/arm/include/asm/xen/page.h:4,
>> from include/xen/page.h:4,
>> from arch/arm/xen/grant-table.c:33:
>>
>> The definition in memory.h is nearly the same (it directly expand PFN_DOWN),
>> so we can safely drop virt_to_pfn in xen include.
>
>
> This breaks the arm build for me.
>
> /local/davidvr/work/k.org/tip/drivers/block/xen-blkfront.c: In function
> ?setup_blkring?:
> /local/davidvr/work/k.org/tip/drivers/block/xen-blkfront.c:1236:2:
> error: implicit declaration of function ?virt_to_pfn?
> [-Werror=implicit-function-declaration]
> err = xenbus_grant_ring(dev, virt_to_mfn(info->ring.sring));
> ^

I don't have any issue to build the following branch with this patch on:
- v3.15-rc2
- xentip master
- xentip for-linus-3.16

Regards,

--
Julien Grall

2014-04-24 14:12:01

by David Vrabel

[permalink] [raw]
Subject: Re: [PATCH] arm/xen: Remove definiition of virt_to_pfn in asm/xen/page.h

On 24/04/14 13:49, Julien Grall wrote:
> Hi David,
>
> On 04/24/2014 01:22 PM, David Vrabel wrote:
>> On 18/04/14 16:54, Julien Grall wrote:
>>> virt_to_pfn has been defined in asm/memory.h by the commit e26a9e0 "ARM: Better
>>> virt_to_page() handling"
>>>
>>> This will result of a compilation warning when CONFIG_XEN is enabled.
>>>
>>> arch/arm/include/asm/xen/page.h:80:0: warning: "virt_to_pfn" redefined [enabled by default]
>>> #define virt_to_pfn(v) (PFN_DOWN(__pa(v)))
>>> ^
>>> In file included from arch/arm/include/asm/page.h:163:0,
>>> from arch/arm/include/asm/xen/page.h:4,
>>> from include/xen/page.h:4,
>>> from arch/arm/xen/grant-table.c:33:
>>>
>>> The definition in memory.h is nearly the same (it directly expand PFN_DOWN),
>>> so we can safely drop virt_to_pfn in xen include.
>>
>>
>> This breaks the arm build for me.
>>
>> /local/davidvr/work/k.org/tip/drivers/block/xen-blkfront.c: In function
>> ?setup_blkring?:
>> /local/davidvr/work/k.org/tip/drivers/block/xen-blkfront.c:1236:2:
>> error: implicit declaration of function ?virt_to_pfn?
>> [-Werror=implicit-function-declaration]
>> err = xenbus_grant_ring(dev, virt_to_mfn(info->ring.sring));
>> ^
>
> I don't have any issue to build the following branch with this patch on:
> - v3.15-rc2
> - xentip master
> - xentip for-linus-3.16

Applied to devel/for-linus-3.16.

If something else turns up for 3.15 (and I remember) I'll take it for
3.15 instead.

Thanks.

David

2014-04-25 17:06:15

by Stefano Stabellini

[permalink] [raw]
Subject: Re: [PATCH] arm/xen: Remove definiition of virt_to_pfn in asm/xen/page.h

On Thu, 24 Apr 2014, David Vrabel wrote:
> On 24/04/14 13:49, Julien Grall wrote:
> > Hi David,
> >
> > On 04/24/2014 01:22 PM, David Vrabel wrote:
> >> On 18/04/14 16:54, Julien Grall wrote:
> >>> virt_to_pfn has been defined in asm/memory.h by the commit e26a9e0 "ARM: Better
> >>> virt_to_page() handling"
> >>>
> >>> This will result of a compilation warning when CONFIG_XEN is enabled.
> >>>
> >>> arch/arm/include/asm/xen/page.h:80:0: warning: "virt_to_pfn" redefined [enabled by default]
> >>> #define virt_to_pfn(v) (PFN_DOWN(__pa(v)))
> >>> ^
> >>> In file included from arch/arm/include/asm/page.h:163:0,
> >>> from arch/arm/include/asm/xen/page.h:4,
> >>> from include/xen/page.h:4,
> >>> from arch/arm/xen/grant-table.c:33:
> >>>
> >>> The definition in memory.h is nearly the same (it directly expand PFN_DOWN),
> >>> so we can safely drop virt_to_pfn in xen include.
> >>
> >>
> >> This breaks the arm build for me.
> >>
> >> /local/davidvr/work/k.org/tip/drivers/block/xen-blkfront.c: In function
> >> ‘setup_blkring’:
> >> /local/davidvr/work/k.org/tip/drivers/block/xen-blkfront.c:1236:2:
> >> error: implicit declaration of function ‘virt_to_pfn’
> >> [-Werror=implicit-function-declaration]
> >> err = xenbus_grant_ring(dev, virt_to_mfn(info->ring.sring));
> >> ^
> >
> > I don't have any issue to build the following branch with this patch on:
> > - v3.15-rc2
> > - xentip master
> > - xentip for-linus-3.16
>
> Applied to devel/for-linus-3.16.
>
> If something else turns up for 3.15 (and I remember) I'll take it for
> 3.15 instead.

David,
thank you very much for taking the patch in my absence.

Considering that the problem is affecting everybody enabling CONFIG_XEN
on ARM on v3.15, I don't think we can wait for the next merge window to
send this fix upstream.
Too many warnings for too many people.

Cheers,

Stefano