Commit 7477de98 authored by Isaku Yamahata's avatar Isaku Yamahata Committed by Tony Luck

ia64/pv_ops/xen: implement xen pv_irq_ops.

implement xen pv_irq_ops to paravirtualize irq handling
with xen event channel.

Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: default avatarAkio Takebe <takebe_akio@jp.fujitsu.com>
Signed-off-by: default avatarAlex Williamson <alex.williamson@hp.com>
Signed-off-by: default avatarIsaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent 78c2ae4a
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Makefile for Xen components # Makefile for Xen components
# #
obj-y := hypercall.o xenivt.o xensetup.o xen_pv_ops.o \ obj-y := hypercall.o xenivt.o xensetup.o xen_pv_ops.o irq_xen.o \
hypervisor.o xencomm.o xcom_hcall.o grant-table.o hypervisor.o xencomm.o xcom_hcall.o grant-table.o
AFLAGS_xenivt.o += -D__IA64_ASM_PARAVIRTUALIZED_XEN AFLAGS_xenivt.o += -D__IA64_ASM_PARAVIRTUALIZED_XEN
......
This diff is collapsed.
/******************************************************************************
* arch/ia64/xen/irq_xen.h
*
* Copyright (c) 2008 Isaku Yamahata <yamahata at valinux co jp>
* VA Linux Systems Japan K.K.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#ifndef IRQ_XEN_H
#define IRQ_XEN_H
extern void (*late_time_init)(void);
extern char xen_event_callback;
void __init xen_init_IRQ(void);
extern const struct pv_irq_ops xen_irq_ops __initdata;
extern void xen_smp_intr_init(void);
extern void xen_send_ipi(int cpu, int vec);
#endif /* IRQ_XEN_H */
...@@ -29,6 +29,8 @@ ...@@ -29,6 +29,8 @@
#include <asm/xen/xencomm.h> #include <asm/xen/xencomm.h>
#include <asm/xen/privop.h> #include <asm/xen/privop.h>
#include "irq_xen.h"
/*************************************************************************** /***************************************************************************
* general info * general info
*/ */
...@@ -354,6 +356,7 @@ xen_setup_pv_ops(void) ...@@ -354,6 +356,7 @@ xen_setup_pv_ops(void)
pv_init_ops = xen_init_ops; pv_init_ops = xen_init_ops;
pv_cpu_ops = xen_cpu_ops; pv_cpu_ops = xen_cpu_ops;
pv_iosapic_ops = xen_iosapic_ops; pv_iosapic_ops = xen_iosapic_ops;
pv_irq_ops = xen_irq_ops;
paravirt_cpu_asm_init(&xen_cpu_asm_switch); paravirt_cpu_asm_init(&xen_cpu_asm_switch);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment