direct-io.hg
changeset 8804:4ee359893af4
Make a VTI domain boot again.
Signed-off-by Anthony Xu <anthony.xu@intel.com>
Signed-off-by Anthony Xu <anthony.xu@intel.com>
author | kaf24@firebug.cl.cam.ac.uk |
---|---|
date | Thu Feb 09 16:03:17 2006 +0100 (2006-02-09) |
parents | 5aad88c8d379 |
children | a0e7daa2df33 |
files | xen/arch/ia64/linux-xen/irq_ia64.c xen/arch/ia64/xen/xenirq.c |
line diff
1.1 --- a/xen/arch/ia64/linux-xen/irq_ia64.c Thu Feb 09 15:57:52 2006 +0100 1.2 +++ b/xen/arch/ia64/linux-xen/irq_ia64.c Thu Feb 09 16:03:17 2006 +0100 1.3 @@ -169,7 +169,7 @@ ia64_handle_irq (ia64_vector vector, str 1.4 * handler needs to be able to wait for further keyboard interrupts, which can't 1.5 * come through until ia64_eoi() has been done. 1.6 */ 1.7 - irq_exit(); 1.8 + xen_irq_exit(regs); 1.9 } 1.10 1.11 #ifdef CONFIG_HOTPLUG_CPU
2.1 --- a/xen/arch/ia64/xen/xenirq.c Thu Feb 09 15:57:52 2006 +0100 2.2 +++ b/xen/arch/ia64/xen/xenirq.c Thu Feb 09 16:03:17 2006 +0100 2.3 @@ -10,7 +10,6 @@ 2.4 #include <asm/hw_irq.h> 2.5 #include <asm/delay.h> 2.6 2.7 - 2.8 void 2.9 xen_debug_irq(ia64_vector vector, struct pt_regs *regs) 2.10 { 2.11 @@ -60,11 +59,14 @@ xen_do_IRQ(ia64_vector vector) 2.12 /* 2.13 * Exit an interrupt context. Process softirqs if needed and possible: 2.14 */ 2.15 -void irq_exit(void) 2.16 +void xen_irq_exit(struct pt_regs *regs) 2.17 { 2.18 //account_system_vtime(current); 2.19 sub_preempt_count(IRQ_EXIT_OFFSET); 2.20 - if (!in_interrupt() && local_softirq_pending()) { 2.21 + if((((char *)regs) -(char *) current) != (IA64_STK_OFFSET-IA64_PT_REGS_SIZE)) 2.22 + return; 2.23 + 2.24 + if (!in_interrupt()&&local_softirq_pending()) { 2.25 add_preempt_count(SOFTIRQ_OFFSET); 2.26 do_softirq(); 2.27 sub_preempt_count(SOFTIRQ_OFFSET);