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

[Xen-changelog] [xen-unstable] [HVM] Allow xenbus to run in an HVM guest.



# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Node ID 88e8abee7575053d2cef862dbaf9c0260cd8d77f
# Parent  2d734ac9ec85de6c3363091f72c8e4a9cda0c75d
[HVM] Allow xenbus to run in an HVM guest.
Signed-off-by: Steven Smith <ssmith@xxxxxxxxxxxxx>
---
 linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c |   16 +++++++++++++---
 unmodified_drivers/linux-2.6/Makefile                  |    1 +
 unmodified_drivers/linux-2.6/mkbuildtree               |    7 +++++++
 unmodified_drivers/linux-2.6/xenbus/Kbuild             |   10 ++++++++++
 4 files changed, 31 insertions(+), 3 deletions(-)

diff -r 2d734ac9ec85 -r 88e8abee7575 
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c
--- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c    Thu Aug 17 
16:29:21 2006 +0100
+++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c    Thu Aug 17 
16:32:30 2006 +0100
@@ -45,12 +45,14 @@
 
 #include <asm/io.h>
 #include <asm/page.h>
+#include <asm/maddr.h>
 #include <asm/pgtable.h>
 #include <asm/hypervisor.h>
 #include <xen/xenbus.h>
 #include <xen/xen_proc.h>
 #include <xen/evtchn.h>
 #include <xen/features.h>
+#include <xen/hvm.h>
 
 #include "xenbus_comms.h"
 
@@ -1015,13 +1017,21 @@ static int __init xenbus_probe_init(void
                if (xsd_port_intf)
                        xsd_port_intf->read_proc = xsd_port_read;
 #endif
+               xen_store_interface = mfn_to_virt(xen_store_mfn);
        } else {
                xenstored_ready = 1;
+#ifdef CONFIG_XEN
                xen_store_evtchn = xen_start_info->store_evtchn;
                xen_store_mfn = xen_start_info->store_mfn;
-       }
-
-       xen_store_interface = mfn_to_virt(xen_store_mfn);
+               xen_store_interface = mfn_to_virt(xen_store_mfn);
+#else
+               xen_store_evtchn = hvm_get_parameter(HVM_PARAM_STORE_EVTCHN);
+               xen_store_mfn = hvm_get_parameter(HVM_PARAM_STORE_PFN);
+               xen_store_interface = ioremap(xen_store_mfn << PAGE_SHIFT,
+                                             PAGE_SIZE);
+#endif
+       }
+
 
        xenbus_dev_init();
 
diff -r 2d734ac9ec85 -r 88e8abee7575 unmodified_drivers/linux-2.6/Makefile
--- a/unmodified_drivers/linux-2.6/Makefile     Thu Aug 17 16:29:21 2006 +0100
+++ b/unmodified_drivers/linux-2.6/Makefile     Thu Aug 17 16:32:30 2006 +0100
@@ -1,3 +1,4 @@ include $(M)/overrides.mk
 include $(M)/overrides.mk
 
 obj-m += platform-pci/
+obj-m += xenbus/
diff -r 2d734ac9ec85 -r 88e8abee7575 unmodified_drivers/linux-2.6/mkbuildtree
--- a/unmodified_drivers/linux-2.6/mkbuildtree  Thu Aug 17 16:29:21 2006 +0100
+++ b/unmodified_drivers/linux-2.6/mkbuildtree  Thu Aug 17 16:32:30 2006 +0100
@@ -5,8 +5,15 @@ XEN=$C/../../xen
 XEN=$C/../../xen
 XL=$C/../../linux-2.6-xen-sparse
 
+for d in $(find ${XL}/drivers/xen/ -maxdepth 1 -type d | sed -e 1d); do
+    if ! echo $d | egrep -q back; then
+        lndir $d $(basename $d) > /dev/null 2>&1
+    fi
+done
+
 ln -sf ${XL}/drivers/xen/core/gnttab.c platform-pci
 ln -sf ${XL}/drivers/xen/core/features.c platform-pci
+ln -sf ${XL}/drivers/xen/core/xen_proc.c xenbus
 
 mkdir -p include
 mkdir -p include/xen
diff -r 2d734ac9ec85 -r 88e8abee7575 unmodified_drivers/linux-2.6/xenbus/Kbuild
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/unmodified_drivers/linux-2.6/xenbus/Kbuild        Thu Aug 17 16:32:30 
2006 +0100
@@ -0,0 +1,10 @@
+include $(M)/overrides.mk
+
+obj-m  += xenbus.o
+xenbus-objs =
+xenbus-objs += xenbus_comms.o
+xenbus-objs += xenbus_xs.o
+xenbus-objs += xenbus_probe.o 
+xenbus-objs += xenbus_dev.o 
+xenbus-objs += xenbus_client.o 
+xenbus-objs += xen_proc.o

_______________________________________________
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®.