ia64/xen: define xen machine vector for domU.
define xen machine vector for domU. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
parent
dcbbecdad5
commit
a0df655ccd
6 changed files with 37 additions and 0 deletions
|
@ -56,9 +56,11 @@ core-$(CONFIG_IA64_DIG) += arch/ia64/dig/
|
||||||
core-$(CONFIG_IA64_GENERIC) += arch/ia64/dig/
|
core-$(CONFIG_IA64_GENERIC) += arch/ia64/dig/
|
||||||
core-$(CONFIG_IA64_HP_ZX1) += arch/ia64/dig/
|
core-$(CONFIG_IA64_HP_ZX1) += arch/ia64/dig/
|
||||||
core-$(CONFIG_IA64_HP_ZX1_SWIOTLB) += arch/ia64/dig/
|
core-$(CONFIG_IA64_HP_ZX1_SWIOTLB) += arch/ia64/dig/
|
||||||
|
core-$(CONFIG_IA64_XEN_GUEST) += arch/ia64/dig/
|
||||||
core-$(CONFIG_IA64_SGI_SN2) += arch/ia64/sn/
|
core-$(CONFIG_IA64_SGI_SN2) += arch/ia64/sn/
|
||||||
core-$(CONFIG_IA64_SGI_UV) += arch/ia64/uv/
|
core-$(CONFIG_IA64_SGI_UV) += arch/ia64/uv/
|
||||||
core-$(CONFIG_KVM) += arch/ia64/kvm/
|
core-$(CONFIG_KVM) += arch/ia64/kvm/
|
||||||
|
core-$(CONFIG_XEN) += arch/ia64/xen/
|
||||||
|
|
||||||
drivers-$(CONFIG_PCI) += arch/ia64/pci/
|
drivers-$(CONFIG_PCI) += arch/ia64/pci/
|
||||||
drivers-$(CONFIG_IA64_HP_SIM) += arch/ia64/hp/sim/
|
drivers-$(CONFIG_IA64_HP_SIM) += arch/ia64/hp/sim/
|
||||||
|
|
|
@ -128,6 +128,8 @@ extern void machvec_tlb_migrate_finish (struct mm_struct *);
|
||||||
# include <asm/machvec_sn2.h>
|
# include <asm/machvec_sn2.h>
|
||||||
# elif defined (CONFIG_IA64_SGI_UV)
|
# elif defined (CONFIG_IA64_SGI_UV)
|
||||||
# include <asm/machvec_uv.h>
|
# include <asm/machvec_uv.h>
|
||||||
|
# elif defined (CONFIG_IA64_XEN_GUEST)
|
||||||
|
# include <asm/machvec_xen.h>
|
||||||
# elif defined (CONFIG_IA64_GENERIC)
|
# elif defined (CONFIG_IA64_GENERIC)
|
||||||
|
|
||||||
# ifdef MACHVEC_PLATFORM_HEADER
|
# ifdef MACHVEC_PLATFORM_HEADER
|
||||||
|
|
22
arch/ia64/include/asm/machvec_xen.h
Normal file
22
arch/ia64/include/asm/machvec_xen.h
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
#ifndef _ASM_IA64_MACHVEC_XEN_h
|
||||||
|
#define _ASM_IA64_MACHVEC_XEN_h
|
||||||
|
|
||||||
|
extern ia64_mv_setup_t dig_setup;
|
||||||
|
extern ia64_mv_cpu_init_t xen_cpu_init;
|
||||||
|
extern ia64_mv_irq_init_t xen_irq_init;
|
||||||
|
extern ia64_mv_send_ipi_t xen_platform_send_ipi;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This stuff has dual use!
|
||||||
|
*
|
||||||
|
* For a generic kernel, the macros are used to initialize the
|
||||||
|
* platform's machvec structure. When compiling a non-generic kernel,
|
||||||
|
* the macros are used directly.
|
||||||
|
*/
|
||||||
|
#define platform_name "xen"
|
||||||
|
#define platform_setup dig_setup
|
||||||
|
#define platform_cpu_init xen_cpu_init
|
||||||
|
#define platform_irq_init xen_irq_init
|
||||||
|
#define platform_send_ipi xen_platform_send_ipi
|
||||||
|
|
||||||
|
#endif /* _ASM_IA64_MACHVEC_XEN_h */
|
|
@ -52,6 +52,7 @@
|
||||||
#include <asm/numa.h>
|
#include <asm/numa.h>
|
||||||
#include <asm/sal.h>
|
#include <asm/sal.h>
|
||||||
#include <asm/cyclone.h>
|
#include <asm/cyclone.h>
|
||||||
|
#include <asm/xen/hypervisor.h>
|
||||||
|
|
||||||
#define BAD_MADT_ENTRY(entry, end) ( \
|
#define BAD_MADT_ENTRY(entry, end) ( \
|
||||||
(!entry) || (unsigned long)entry + sizeof(*entry) > end || \
|
(!entry) || (unsigned long)entry + sizeof(*entry) > end || \
|
||||||
|
@ -121,6 +122,8 @@ acpi_get_sysname(void)
|
||||||
return "uv";
|
return "uv";
|
||||||
else
|
else
|
||||||
return "sn2";
|
return "sn2";
|
||||||
|
} else if (xen_pv_domain() && !strcmp(hdr->oem_id, "XEN")) {
|
||||||
|
return "xen";
|
||||||
}
|
}
|
||||||
|
|
||||||
return "dig";
|
return "dig";
|
||||||
|
@ -137,6 +140,8 @@ acpi_get_sysname(void)
|
||||||
return "uv";
|
return "uv";
|
||||||
# elif defined (CONFIG_IA64_DIG)
|
# elif defined (CONFIG_IA64_DIG)
|
||||||
return "dig";
|
return "dig";
|
||||||
|
# elif defined (CONFIG_IA64_XEN_GUEST)
|
||||||
|
return "xen";
|
||||||
# else
|
# else
|
||||||
# error Unknown platform. Fix acpi.c.
|
# error Unknown platform. Fix acpi.c.
|
||||||
# endif
|
# endif
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
obj-y := hypercall.o xenivt.o xensetup.o xen_pv_ops.o irq_xen.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 time.o
|
hypervisor.o xencomm.o xcom_hcall.o grant-table.o time.o
|
||||||
|
|
||||||
|
obj-$(CONFIG_IA64_GENERIC) += machvec.o
|
||||||
|
|
||||||
AFLAGS_xenivt.o += -D__IA64_ASM_PARAVIRTUALIZED_XEN
|
AFLAGS_xenivt.o += -D__IA64_ASM_PARAVIRTUALIZED_XEN
|
||||||
|
|
||||||
# xen multi compile
|
# xen multi compile
|
||||||
|
|
4
arch/ia64/xen/machvec.c
Normal file
4
arch/ia64/xen/machvec.c
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
#define MACHVEC_PLATFORM_NAME xen
|
||||||
|
#define MACHVEC_PLATFORM_HEADER <asm/machvec_xen.h>
|
||||||
|
#include <asm/machvec_init.h>
|
||||||
|
|
Loading…
Reference in a new issue