xen-ia64-devel
[Xen-ia64-devel] [PATCH 45/50] ia64/xen: domU xen machine vector without
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
arch/ia64/kernel/acpi.c | 4 ++++
arch/ia64/xen/machvec.c | 4 ++++
include/asm-ia64/machvec.h | 2 ++
include/asm-ia64/machvec_xen.h | 22 ++++++++++++++++++++++
4 files changed, 32 insertions(+), 0 deletions(-)
create mode 100644 arch/ia64/xen/machvec.c
create mode 100644 include/asm-ia64/machvec_xen.h
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c
index 78f28d8..adf475a 100644
--- a/arch/ia64/kernel/acpi.c
+++ b/arch/ia64/kernel/acpi.c
@@ -118,6 +118,8 @@ acpi_get_sysname(void)
return "hpzx1";
} else if (!strcmp(hdr->oem_id, "SGI")) {
return "sn2";
+ } else if (is_running_on_xen() && !strcmp(hdr->oem_id, "XEN")) {
+ return "xen";
}
return "dig";
@@ -132,6 +134,8 @@ acpi_get_sysname(void)
return "sn2";
# elif defined (CONFIG_IA64_DIG)
return "dig";
+# elif defined (CONFIG_IA64_XEN)
+ return "xen";
# else
# error Unknown platform. Fix acpi.c.
# endif
diff --git a/arch/ia64/xen/machvec.c b/arch/ia64/xen/machvec.c
new file mode 100644
index 0000000..4ad588a
--- /dev/null
+++ b/arch/ia64/xen/machvec.c
@@ -0,0 +1,4 @@
+#define MACHVEC_PLATFORM_NAME xen
+#define MACHVEC_PLATFORM_HEADER <asm/machvec_xen.h>
+#include <asm/machvec_init.h>
+
diff --git a/include/asm-ia64/machvec.h b/include/asm-ia64/machvec.h
index c201a20..cea8d63 100644
--- a/include/asm-ia64/machvec.h
+++ b/include/asm-ia64/machvec.h
@@ -120,6 +120,8 @@ extern void machvec_tlb_migrate_finish (struct mm_struct *);
# include <asm/machvec_hpzx1_swiotlb.h>
# elif defined (CONFIG_IA64_SGI_SN2)
# include <asm/machvec_sn2.h>
+# elif defined (CONFIG_IA64_XEN)
+# include <asm/machvec_xen.h>
# elif defined (CONFIG_IA64_GENERIC)
# ifdef MACHVEC_PLATFORM_HEADER
diff --git a/include/asm-ia64/machvec_xen.h b/include/asm-ia64/machvec_xen.h
new file mode 100644
index 0000000..ed0f84d
--- /dev/null
+++ b/include/asm-ia64/machvec_xen.h
@@ -0,0 +1,22 @@
+#ifndef _ASM_IA64_MACHVEC_XEN_h
+#define _ASM_IA64_MACHVEC_XEN_h
+
+extern ia64_mv_setup_t xen_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 xen_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 */
--
1.5.3
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-ia64-devel] [PATCH 14/50] ia64/pv_ops: split out ia64_swtich_to(), ia64_leave_syscall() and ia64_leave_kernel from entry.S to switch_leave.S for paravirtualization., (continued)
- [Xen-ia64-devel] [PATCH 14/50] ia64/pv_ops: split out ia64_swtich_to(), ia64_leave_syscall() and ia64_leave_kernel from entry.S to switch_leave.S for paravirtualization., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 20/50] ia64/pv_ops: paravirtualized instructions for hand written assembly code on native., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 29/50] ia64/xen: increase IA64_MAX_RSVD_REGIONS., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 26/50] ia64/pv_ops: introduce pv_init_ops and its hooks., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 18/50] ia64/pv_ops: preparation for ia64 intrinsics operations paravirtualization, Isaku Yamahata
- [Xen-ia64-devel] [PATCH 19/50] ia64/pv_ops: define ia64 privileged instruction intrinsics for paravirtualized guest kernel., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 33/50] ia64/xen: detect xen environment at early boot time and do minimal initialization., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 21/50] ia64/pv_ops: header file to switch paravirtualized assembly instructions., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 49/50] ia64/pv_ops/xen: define xen pv_iosapic_ops., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 38/50] ia64/xen: paravirtualize pal_call_static()., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 45/50] ia64/xen: domU xen machine vector without dma api.,
Isaku Yamahata <=
- [Xen-ia64-devel] [PATCH 22/50] ia64/pv_ops: paravirtualize minstate.h., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 27/50] ia64/pv_ops: introduce pv_iosapic_ops and its hooks., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 34/50] ia64/xen: helper functions for xen fault handlers., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 30/50] ia64/xen: introduce synch bitops which is necessary for ia64/xen support., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 42/50] ia64/xen: ia64 domU part of xencomm., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 23/50] ia64/pv_ops: paravirtualize arch/ia64/kernel/switch_leave.S, Isaku Yamahata
- [Xen-ia64-devel] [PATCH 35/50] ia64/pv_ops/xen: paravirtualized instructions for hand written assembly code., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 44/50] ia64/xen: basic helper routines for xen/ia64., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 43/50] ia64/xen: define xen_alloc_vm_area()/xen_free_vm_area() for ia64 arch., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 41/50] ia64/xen: introduce xen hypercall routines necessary for domU., Isaku Yamahata
|
|
|