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

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

 



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.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux