xen: add resend_irq_on_evtchn() definition into events.c
Define resend_irq_on_evtchn() which ia64/xen uses. Although it isn't used by current x86/xen code, it's arch generic so that put it into common code. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
Родитель
e849c3e9e0
Коммит
642e0c882c
|
@ -586,6 +586,22 @@ static void set_affinity_irq(unsigned irq, cpumask_t dest)
|
|||
rebind_irq_to_cpu(irq, tcpu);
|
||||
}
|
||||
|
||||
int resend_irq_on_evtchn(unsigned int irq)
|
||||
{
|
||||
int masked, evtchn = evtchn_from_irq(irq);
|
||||
struct shared_info *s = HYPERVISOR_shared_info;
|
||||
|
||||
if (!VALID_EVTCHN(evtchn))
|
||||
return 1;
|
||||
|
||||
masked = sync_test_and_set_bit(evtchn, s->evtchn_mask);
|
||||
sync_set_bit(evtchn, s->evtchn_pending);
|
||||
if (!masked)
|
||||
unmask_evtchn(evtchn);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void enable_dynirq(unsigned int irq)
|
||||
{
|
||||
int evtchn = evtchn_from_irq(irq);
|
||||
|
|
|
@ -31,6 +31,7 @@ int bind_ipi_to_irqhandler(enum ipi_vector ipi,
|
|||
void unbind_from_irqhandler(unsigned int irq, void *dev_id);
|
||||
|
||||
void xen_send_IPI_one(unsigned int cpu, enum ipi_vector vector);
|
||||
int resend_irq_on_evtchn(unsigned int irq);
|
||||
|
||||
static inline void notify_remote_via_evtchn(int port)
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче