Subject: Re: [Xen-devel] [PATCH v6] xen/grant-table: Avoid m2p_override during mapping

From: Zoltan Kiss <[email-masked]>
Date: Sun, 2 Feb 2014 19:52:32 +0100

On 02/02/14 11:29, Julien Grall wrote:
> Hello,
>
> This patch is breaking Linux compilation on ARM:
>
> drivers/xen/grant-table.c: In function ‘__gnttab_map_refs’:
> drivers/xen/grant-table.c:989:3: error: implicit declaration of function ‘FOREIGN_FRAME’ [-Werror=implicit-function-declaration]
>     if (unlikely(!set_phys_to_machine(pfn, FOREIGN_FRAME(mfn)))) {
>     ^
> drivers/xen/grant-table.c: In function ‘__gnttab_unmap_refs’:
> drivers/xen/grant-table.c:1054:3: error: implicit declaration of function ‘get_phys_to_machine’ [-Werror=implicit-function-declaration]
>     mfn = get_phys_to_machine(pfn);
>     ^
> drivers/xen/grant-table.c:1055:43: error: ‘FOREIGN_FRAME_BIT’ undeclared (first use in this function)
>     if (mfn == INVALID_P2M_ENTRY || !(mfn & FOREIGN_FRAME_BIT)) {
>                                             ^
> drivers/xen/grant-table.c:1055:43: note: each undeclared identifier is reported only once for each function it appears in
> drivers/xen/grant-table.c:1068:9: error: too many arguments to function ‘m2p_remove_override’
>           mfn);
>           ^
> In file included from include/xen/page.h:4:0,
>                   from drivers/xen/grant-table.c:48:
> /local/home/julien/works/midway/linux/arch/arm/include/asm/xen/page.h:106:19: note: declared here
>   static inline int m2p_remove_override(struct page *page, bool clear_pte)
>                     ^
> cc1: some warnings being treated as errors

Hi,

That's bad indeed. I think the best solution is to put those parts 
behind an #ifdef x86. The ones moved from x86/p2m.c to grant-table.c. 
David, Stefano, what do you think?

Zoli