From db80140931aa2ae0536fab28e5aebd24e8256239 Mon Sep 17 00:00:00 2001 From: Eduardo Habkost Date: Wed, 28 Nov 2007 17:54:25 -0200 Subject: [PATCH] More chainsaw-ifdefs Signed-off-by: Eduardo Habkost --- arch/x86/xen/events.c | 11 ++++++++++- arch/x86/xen/mmu.c | 5 +++++ 2 files changed, 15 insertions(+), 1 deletions(-) diff --git a/arch/x86/xen/events.c b/arch/x86/xen/events.c index dcf613e..fa67e61 100644 --- a/arch/x86/xen/events.c +++ b/arch/x86/xen/events.c @@ -456,6 +456,12 @@ void xen_send_IPI_one(unsigned int cpu, enum ipi_vector vector) } +/*FIXME: ugly */ +#ifdef CONFIG_X86_64 +extern asmlinkage unsigned int do_IRQ(struct pt_regs *regs); +#endif + + /* * Search the CPUs pending events bitmasks. For each one found, map * the event number to an irq, and feed it into do_IRQ() for @@ -587,5 +593,8 @@ void __init xen_init_IRQ(void) for (i = 0; i < NR_IRQS; i++) irq_bindcount[i] = 0; - irq_ctx_init(smp_processor_id()); +#ifdef CONFIG_X86_32 + /*FIXME: investigate this better */ + irq_ctx_init(smp_processor_id()); +#endif } diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c index 4ec41ce..d4742df 100644 --- a/arch/x86/xen/mmu.c +++ b/arch/x86/xen/mmu.c @@ -526,7 +526,12 @@ static void drop_other_mm_ref(void *info) { struct mm_struct *mm = info; +#ifdef CONFIG_X86_32 + /*FIXME: better way to do this, avoiding #ifdefs */ if (__get_cpu_var(cpu_tlbstate).active_mm == mm) +#else + if (read_pda(active_mm) == mm) +#endif leave_mm(smp_processor_id()); /* If this cpu still has a stale cr3 reference, then make sure -- 1.5.4.1