I'll apply something like your patch.
On 16/9/08 03:38, "Isaku Yamahata" <yamahata@xxxxxxxxxxxxx> wrote:
> Hi Keir.
> The c/s of 660:7886619f623e in linux-2.6.18-xen breaks ia64.
> Should I make the related functions arch-specific moving them
> to linux/arch/x86/kernel/io_apic-xen.c?
> Please consider applying the following patch or give me a suggestion.
> IA64 doesn't have IO APIC so that the macro, IO_APIC_IRQ(),
> doesn't make sense.
> Instead, it has IO SAPIC which differs from IO APIC.
> On Fri, Sep 12, 2008 at 07:09:48PM +0900, Isaku Yamahata wrote:
>> fix "translate Xen-provided PIRQs" patch.
>> This patch fixes the ia64 breakage caused by 660:7886619f623e.
>> The change set is very x86 specific. So the functions, evtchn_map_pirq(),
>> evtchn_get_xen_pirq() should be arch specific.
>> However the pulling out those function out from evntchan would be
>> very ugly because they use static functions in the file.
>> Eventually the issue in the upstream linux will be addressed by pv_ops,
>> and it doesn't matter much on 2.6.18-xen for ia64. So I keep this patch
>> as small as possible for now.
>> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
>> diff -r 035670ec617c drivers/xen/core/evtchn.c
>> --- a/drivers/xen/core/evtchn.c Tue Sep 09 15:13:29 2008 +0100
>> +++ b/drivers/xen/core/evtchn.c Fri Sep 12 18:10:16 2008 +0900
>> @@ -761,9 +761,13 @@
>> irq_info[irq] = mk_irq_info(IRQT_PIRQ, irq, 0);
>> +#ifndef CONFIG_X86
>> +#define IO_APIC_IRQ(irq) (0)
>> #ifndef CONFIG_X86_IO_APIC
>> #undef IO_APIC_IRQ
>> #define IO_APIC_IRQ(irq) ((irq) >= pirq_to_irq(16))
>> int evtchn_map_pirq(int irq, int xen_pirq)
Xen-devel mailing list