|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] Make a VTI domain boot again.
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 4ee359893af453aaaf4fd2e49fef3f134cc54c74
# Parent 5aad88c8d37949e2348744cca0be4ce2865fa285
Make a VTI domain boot again.
Signed-off-by Anthony Xu <anthony.xu@xxxxxxxxx>
diff -r 5aad88c8d379 -r 4ee359893af4 xen/arch/ia64/linux-xen/irq_ia64.c
--- a/xen/arch/ia64/linux-xen/irq_ia64.c Thu Feb 9 14:57:52 2006
+++ b/xen/arch/ia64/linux-xen/irq_ia64.c Thu Feb 9 15:03:17 2006
@@ -169,7 +169,7 @@
* handler needs to be able to wait for further keyboard interrupts,
which can't
* come through until ia64_eoi() has been done.
*/
- irq_exit();
+ xen_irq_exit(regs);
}
#ifdef CONFIG_HOTPLUG_CPU
diff -r 5aad88c8d379 -r 4ee359893af4 xen/arch/ia64/xen/xenirq.c
--- a/xen/arch/ia64/xen/xenirq.c Thu Feb 9 14:57:52 2006
+++ b/xen/arch/ia64/xen/xenirq.c Thu Feb 9 15:03:17 2006
@@ -9,7 +9,6 @@
#include <asm/ptrace.h>
#include <asm/hw_irq.h>
#include <asm/delay.h>
-
void
xen_debug_irq(ia64_vector vector, struct pt_regs *regs)
@@ -60,11 +59,14 @@
/*
* Exit an interrupt context. Process softirqs if needed and possible:
*/
-void irq_exit(void)
+void xen_irq_exit(struct pt_regs *regs)
{
//account_system_vtime(current);
sub_preempt_count(IRQ_EXIT_OFFSET);
- if (!in_interrupt() && local_softirq_pending()) {
+ if((((char *)regs) -(char *) current) !=
(IA64_STK_OFFSET-IA64_PT_REGS_SIZE))
+ return;
+
+ if (!in_interrupt()&&local_softirq_pending()) {
add_preempt_count(SOFTIRQ_OFFSET);
do_softirq();
sub_preempt_count(SOFTIRQ_OFFSET);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] Make a VTI domain boot again.,
Xen patchbot -unstable <=
|
|
|
|
|