[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [RFC PATCH 23/35] Add support for Xen event channels.

On Wednesday 22 March 2006 07:31, Chris Wright wrote:
> Support Xen event channels instead of the i8259 PIC.
> Event channels are used to inject events into the kernel, either from
> the hypervisor or from another VM.  The injected events are mapped to
> interrupts.
> If an event needs to be injected, the hypervisor causes an upcall into
> the kernel.  The upcall handler then scans the event pending bitmap
> and calls do_IRQ for each pending event.

This looks like mostly generic code. Shouldn't most of this belong
into drivers/xen to be used by other architectures too? Putting 
so much generic code into i386 looks wrong.

> -#if defined(CONFIG_X86_IO_APIC)
> +#if defined(CONFIG_X86_XEN)
> +extern void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i);
> +#elif defined(CONFIG_X86_IO_APIC)
>  static inline void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i)
>  {
>       if (IO_APIC_IRQ(i))

Better just put this out of line in the native case too.

> +/* Upcall to generic IRQ layer. */
> +#ifdef CONFIG_X86

We don't do such things with ifdef trees. Put the necessary 
code into asm/ 

> --- /dev/null
> +++ xen-subarch-2.6/include/asm-i386/mach-xen/irq_vectors.h
> @@ -0,0 +1,126 @@
> +/*
> + * This file should contain #defines for all of the interrupt vector
> + * numbers used by this architecture.

This is mostly identical with native right? Sharing, sharing, sharing.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.