# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1181684903 21600
# Node ID a62cfa35d3b504d5ee1acd4a409a6fb3ee45a6bd
# Parent bab3dd910801edf8763d55e0c8133bc08d1cbcfd
[IA64] Add HYPERVISOR_add_io_space
And call it to register new I/O spaces with Xen
Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
arch/ia64/pci/pci.c | 5 +++++
include/asm-ia64/hypercall.h | 9 +++++++++
include/xen/interface/arch-ia64.h | 3 +++
3 files changed, 17 insertions(+)
diff -r bab3dd910801 -r a62cfa35d3b5 arch/ia64/pci/pci.c
--- a/arch/ia64/pci/pci.c Tue Jun 12 15:43:27 2007 -0600
+++ b/arch/ia64/pci/pci.c Tue Jun 12 15:48:23 2007 -0600
@@ -164,6 +164,11 @@ new_space (u64 phys_base, int sparse)
i = num_io_spaces++;
io_space[i].mmio_base = mmio_base;
io_space[i].sparse = sparse;
+
+#ifdef CONFIG_XEN
+ if (is_initial_xendomain())
+ HYPERVISOR_add_io_space(phys_base, sparse, i);
+#endif
return i;
}
diff -r bab3dd910801 -r a62cfa35d3b5 include/asm-ia64/hypercall.h
--- a/include/asm-ia64/hypercall.h Tue Jun 12 15:43:27 2007 -0600
+++ b/include/asm-ia64/hypercall.h Tue Jun 12 15:48:23 2007 -0600
@@ -387,6 +387,15 @@ xencomm_arch_hypercall_fpswa_revision(st
{
return _hypercall2(int, ia64_dom0vp_op,
IA64_DOM0VP_fpswa_revision, arg);
+}
+
+static inline int
+HYPERVISOR_add_io_space(unsigned long phys_base,
+ unsigned long sparse,
+ unsigned long space_number)
+{
+ return _hypercall4(int, ia64_dom0vp_op, IA64_DOM0VP_add_io_space,
+ phys_base, sparse, space_number);
}
// for balloon driver
diff -r bab3dd910801 -r a62cfa35d3b5 include/xen/interface/arch-ia64.h
--- a/include/xen/interface/arch-ia64.h Tue Jun 12 15:43:27 2007 -0600
+++ b/include/xen/interface/arch-ia64.h Tue Jun 12 15:48:23 2007 -0600
@@ -531,6 +531,9 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_conte
/* get fpswa revision */
#define IA64_DOM0VP_fpswa_revision 10
+/* Add an I/O port space range */
+#define IA64_DOM0VP_add_io_space 11
+
// flags for page assignement to pseudo physical address space
#define _ASSIGN_readonly 0
#define ASSIGN_readonly (1UL << _ASSIGN_readonly)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|