[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [linux-2.6.18-xen] [IA64] Add HYPERVISOR_add_io_space



# 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.