Re: [PATCH 00 of 36] x86/paravirt: groundwork for 64-bit Xen support

From: Jeremy Fitzhardinge
Date: Wed Jun 25 2008 - 16:12:53 EST


Ingo Molnar wrote:
* Ingo Molnar <mingo@xxxxxxx> wrote:

Anyway, that's all theory - i'll try out your patchset in -tip to see what breaks in practice ;-)

i've put the commits (and a good number of dependent commits) into the new tip/x86/xen-64bit topic branch.

It quickly broke the build in testing:

include/asm/pgalloc.h: In function âparavirt_pgd_free':
include/asm/pgalloc.h:14: error: parameter name omitted
arch/x86/kernel/entry_64.S: In file included from arch/x86/kernel/traps_64.c:51:include/asm/pgalloc.h: In function âparavirt_pgd_free':
include/asm/pgalloc.h:14: error: parameter name omitted

No, looks like my fault. The non-PARAVIRT version of paravirt_pgd_free() is:

static inline void paravirt_pgd_free(struct mm_struct *mm, pgd_t *) {}

but C doesn't like missing parameter names, even if unused.

This should fix it:

diff -r 19b73cc5fdf4 include/asm-x86/pgalloc.h
--- a/include/asm-x86/pgalloc.h Wed Jun 25 11:24:41 2008 -0400
+++ b/include/asm-x86/pgalloc.h Wed Jun 25 13:11:56 2008 -0700
@@ -11,7 +11,7 @@
#include <asm/paravirt.h>
#else
#define paravirt_pgd_alloc(mm) __paravirt_pgd_alloc(mm)
-static inline void paravirt_pgd_free(struct mm_struct *mm, pgd_t *) {}
+static inline void paravirt_pgd_free(struct mm_struct *mm, pgd_t *pgd) {}
static inline void paravirt_alloc_pte(struct mm_struct *mm, unsigned long pfn) {}
static inline void paravirt_alloc_pmd(struct mm_struct *mm, unsigned long pfn) {}
static inline void paravirt_alloc_pmd_clone(unsigned long pfn, unsigned long clonepfn,



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/