[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] [PATCH] Cleanup to irq.c
This patch is a big cleanup to irq.c, with only real necessary interfaces kept now. The irq subsystem of xen is very simple since most external devices are controlled by dom0. Also especially there's no need to keep CONFIG_XEN everywhere, since this file is already out of sync of linux version for a long time. Actually xen defines irq related structures differently and it's worthy of creating a xen specific version here. Another change of this patch is to remove ugly check upon timer/ipi within irq handler. Instead now we'll check IRQ_GUEST flag of irq_desc to decide whether to deliver irq to guest. Now all vectors un-registered are set with IRQ_GUEST enabled, which is identical to current assumption. Later this flag should be set only per guest's request. Then Xen_do_irq is not reuqired as the result of this change. Signed-off-by Kevin Tian <kevin.tian@xxxxxxxxx> BTW, one confusing point here is serial_input_init() which hard coded a vector (0x30), which happens to conflict with eth0 vector on my tiger box. What's the purpose of this registration? Actually the registration here is bogus which never severs the purpose. Before my patch, previous logic simply injects that vector (0x30) into guest since it's not timer/ipi. Even xen wants to handle this vector, the hw_interrupt_type assocated with this vector is no_irq_type which is also bogus. Since it doesn't work as the code wants, I simply disabled the serial_input_init to avoid unnecessary warnings like " Unexpected irq vector 0x30 on cpu 0". If anyone has special requirement on this part, we can modify it later to make it really working. :-) Thanks, Kevin Attachment:
cleanup_irq.patch _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |