Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

xen/events: add xen_evtchn_mask_all()

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>

authored by

David Vrabel and committed by
Konrad Rzeszutek Wilk
fd21069d d0b075ff

+11 -7
+11 -7
drivers/xen/events/events_base.c
··· 344 344 info->cpu = cpu; 345 345 } 346 346 347 + static void xen_evtchn_mask_all(void) 348 + { 349 + unsigned int evtchn; 350 + 351 + for (evtchn = 0; evtchn < xen_evtchn_nr_channels(); evtchn++) 352 + mask_evtchn(evtchn); 353 + } 354 + 347 355 /** 348 356 * notify_remote_via_irq - send event to remote end of event channel via irq 349 357 * @irq: irq of event channel to send event to ··· 1528 1520 1529 1521 void xen_irq_resume(void) 1530 1522 { 1531 - unsigned int cpu, evtchn; 1523 + unsigned int cpu; 1532 1524 struct irq_info *info; 1533 1525 1534 1526 /* New event-channel space is not 'live' yet. */ 1535 - for (evtchn = 0; evtchn < xen_evtchn_nr_channels(); evtchn++) 1536 - mask_evtchn(evtchn); 1527 + xen_evtchn_mask_all(); 1537 1528 1538 1529 /* No IRQ <-> event-channel mappings. */ 1539 1530 list_for_each_entry(info, &xen_irq_list_head, list) ··· 1631 1624 1632 1625 void __init xen_init_IRQ(void) 1633 1626 { 1634 - int i; 1635 - 1636 1627 xen_evtchn_2l_init(); 1637 1628 1638 1629 evtchn_to_irq = kcalloc(EVTCHN_ROW(xen_evtchn_max_channels()), ··· 1638 1633 BUG_ON(!evtchn_to_irq); 1639 1634 1640 1635 /* No event channels are 'live' right now. */ 1641 - for (i = 0; i < xen_evtchn_nr_channels(); i++) 1642 - mask_evtchn(i); 1636 + xen_evtchn_mask_all(); 1643 1637 1644 1638 pirq_needs_eoi = pirq_needs_eoi_flag; 1645 1639