[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080711203151.GU1678@linux-os.sc.intel.com>
Date: Fri, 11 Jul 2008 13:31:52 -0700
From: Suresh Siddha <suresh.b.siddha@...el.com>
To: Ingo Molnar <mingo@...e.hu>
Cc: "Siddha, Suresh B" <suresh.b.siddha@...el.com>,
"hpa@...or.com" <hpa@...or.com>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"arjan@...ux.intel.com" <arjan@...ux.intel.com>,
"andi@...stfloor.org" <andi@...stfloor.org>,
"ebiederm@...ssion.com" <ebiederm@...ssion.com>,
"jbarnes@...tuousgeek.org" <jbarnes@...tuousgeek.org>,
"steiner@....com" <steiner@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"jeremy@...p.org" <jeremy@...p.org>
Subject: Re: [patch 00/26] x64, x2apic/intr-remap: Interrupt-remapping and x2apic support
On Fri, Jul 11, 2008 at 01:09:57PM -0700, Ingo Molnar wrote:
>
> * Ingo Molnar <mingo@...e.hu> wrote:
>
> > > > http://redhat.com/~mingo/misc/config-Thu_Jul_10_21_43_28_CEST_2008.bad
> > >
> > > Ingo, that was my stupid typo. Please apply this patch. BTW, we need
> > > some more xen64 paravirt fixes in this area. I will look at it as
> > > soon as possible.
> >
> > applied to tip/x86/x2apic - thanks Suresh.
>
> another problem is the redefinition of apic_read(), causing:
>
> arch/x86/xen/enlighten.c: In function ‘xen_patch':
> arch/x86/xen/enlighten.c:1084: warning: label ‘patch_site' defined but not used
> arch/x86/xen/enlighten.c: At top level:
> arch/x86/xen/enlighten.c:1272: error: expected identifier before ‘(' token
> arch/x86/xen/enlighten.c:1273: error: expected ‘}' before ‘.' token
>
> with this config:
>
> http://redhat.com/~mingo/misc/config-Fri_Jul_11_21_51_18_CEST_2008.bad
>
> the continued spaghetti in all the APIC variants is quite ugly. This
> should all be handled via a single apic_ops template that should cover
> the paravirt and native variants as well.
Ingo, I just posted the fix for this.
To cleanup the code:
struct pv_apic_ops {
#ifdef CONFIG_X86_LOCAL_APIC
/*
* Direct APIC operations, principally for VMI. Ideally
* these shouldn't be in this interface.
*/
void (*apic_write)(unsigned long reg, u32 v);
void (*apic_write_atomic)(unsigned long reg, u32 v);
u32 (*apic_read)(unsigned long reg);
Probably we should move the three above routines to basic apic_ops, which just
deal with the apic HW accesses and retain the below for pv_apic_ops, which
care more than the basic reg accesses. This will be true for both 32/64bits..
void (*setup_boot_clock)(void);
void (*setup_secondary_clock)(void);
void (*startup_ipi_hook)(int phys_apicid,
unsigned long start_eip,
unsigned long start_esp);
#endif
};
Unless there is an objection, I will post the fix.
thanks,
suresh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists