Re: [PATCH 02/18] xen: hook io_apic read/write operations

From: Ingo Molnar
Date: Sat May 09 2009 - 04:44:43 EST



* Ingo Molnar <mingo@xxxxxxx> wrote:

>
> * Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:
>
> > --- a/arch/x86/kernel/apic/io_apic.c
> > +++ b/arch/x86/kernel/apic/io_apic.c
> > @@ -62,8 +62,10 @@
> > #include <asm/uv/uv_hub.h>
> > #include <asm/uv/uv_irq.h>
> >
> > +#include <asm/xen/hypervisor.h>
> > #include <asm/apic.h>
> >
> > +
> > #define __apicdebuginit(type) static type __init
> >
> > /*
> > @@ -407,14 +409,26 @@ static inline void io_apic_eoi(unsigned int apic, unsigned int vector)
> >
> > static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg)
> > {
> > - struct io_apic __iomem *io_apic = io_apic_base(apic);
> > + struct io_apic __iomem *io_apic;
> > +
> > + if (xen_initial_domain())
> > + return xen_io_apic_read(apic, reg);
>
> hm, any reason why we dont want to create a 'struct io_apic'
> driver abstraction instead of spreading xen_initial_domain()
> checks all around the code?

And on a higher level, i still dont see why you dont do the whole
Xen thing under an irqchip. There should be no extra crappy checks
in native code.

Ingo
--
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/