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.
thanks,
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)
> +#else
> #ifndef CONFIG_X86_IO_APIC
> #undef IO_APIC_IRQ
> #define IO_APIC_IRQ(irq) ((irq) >= pirq_to_irq(16))
> +#endif
> #endif
>
> int evtchn_map_pirq(int irq, int xen_pirq)
>
>
--
yamahata
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|