OpenCloudOS-Kernel/include/xen
Jeremy Fitzhardinge 168d2f464a xen: save previous spinlock when blocking
A spinlock can be interrupted while spinning, so make sure we preserve
the previous lock of interest if we're taking a lock from within an
interrupt handler.

We also need to deal with the case where the blocking path gets
interrupted between testing to see if the lock is free and actually
blocking.  If we get interrupted there and end up in the state where
the lock is free but the irq isn't pending, then we'll block
indefinitely in the hypervisor.  This fix is to make sure that any
nested lock-takers will always leave the irq pending if there's any
chance the outer lock became free.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Acked-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-08-21 13:52:57 +02:00
..
interface xen64: define asm/xen/interface for 64-bit 2008-07-16 10:56:18 +02:00
balloon.h xen: add balloon driver 2008-04-24 23:57:33 +02:00
events.h xen: save previous spinlock when blocking 2008-08-21 13:52:57 +02:00
features.h xen: Core Xen implementation 2007-07-18 08:47:42 -07:00
grant_table.h xen: implement save/restore 2008-05-27 10:11:38 +02:00
hvc-console.h xen64: fix !HVC_XEN build dependency 2008-07-16 11:06:48 +02:00
page.h xen: make include/xen/page.h portable moving those definitions under asm dir 2008-04-24 23:57:32 +02:00
xen-ops.h xen: add xen_arch_resume()/xen_timer_resume hook for ia64 support 2008-07-16 10:55:50 +02:00
xenbus.h xen blkfront: Delay wait for block devices until after the disk is added 2008-04-24 23:57:33 +02:00
xencomm.h xen: import arch generic part of xencomm 2008-04-24 23:57:32 +02:00