Displaying 4 results from an estimated 4 matches for "cpu_eoi_map".
2006 Apr 19
0
[patch] define and use cpu_test_and_clear() and some type checking fixes
...pirq_mask[0]) )
action->in_flight++;
send_guest_pirq(d, irq);
}
@@ -235,7 +235,7 @@ static void __set_eoi_ready(irq_desc_t *
if ( !(desc->status & IRQ_GUEST) ||
(action->in_flight != 0) ||
- !test_and_clear_bit(cpu, &action->cpu_eoi_map) )
+ !cpu_test_and_clear(cpu, action->cpu_eoi_map) )
return;
sp = pending_eoi_sp(cpu);
@@ -285,7 +285,7 @@ static void flush_all_pending_eoi(void *
ASSERT(action->ack_type == ACKTYPE_EOI);
ASSERT(desc->status & IRQ_GUEST);
for ( i =...
2011 Sep 16
0
[PATCH v3] Clear IRQ_GUEST in irq_desc->status when setting action to NULL.
...e(&desc->lock, flags);
desc->status |= IRQ_DISABLED;
+ desc->status &= ~IRQ_GUEST;
desc->handler->shutdown(irq);
action = desc->action;
desc->action = NULL;
@@ -1465,8 +1466,6 @@ static irq_guest_action_t *__pirq_guest_
cpumask_t cpu_eoi_map;
int i;
- BUG_ON(!(desc->status & IRQ_GUEST));
-
action = (irq_guest_action_t *)desc->action;
irq = desc - irq_desc;
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-d...
2008 Sep 26
2
RE: [Xen-changelog] [xen-unstable] x86: Properly synchronise updates to pirq-to-vector mapping.
...);
+ }
+
+ if ( pflags != NULL )
+ *pflags = flags;
+ return desc;
+}
+
/* Flush all ready EOIs from the top of this CPU's pending-EOI stack. */
static void flush_ready_eoi(void *unused)
{
@@ -342,11 +371,13 @@ static void __pirq_guest_eoi(struct doma
cpumask_t cpu_eoi_map;
int vector;
- vector = domain_irq_to_vector(d, irq);
- desc = &irq_desc[vector];
+ ASSERT(local_irq_is_enabled());
+ desc = domain_spin_lock_irq_desc(d, irq, NULL);
+ if ( desc == NULL )
+ return;
+
action = (irq_guest_action_t *)desc->acti...
2008 Sep 23
9
Xen crash on dom0 shutdown
There is a BUG_ON() at xen/arch/x86/physdev.c:169 which appears to
be dependent upon guest behavior (should close event channel before
un-mapping pirq), rather than on internal hypervisor state. In 2.6.18,
this likely goes unnoticed because pci_device_shutdown() only calls all
the driver shutdown routines. In newer kernels, however, it also calls
pci_msi_shutdown() and pci_msix_shutdown(), which