WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] If /sbin/ isn't in the path, udev rules will erroneously

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] If /sbin/ isn't in the path, udev rules will erroneously not get
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 14 Nov 2005 18:58:12 +0000
Delivery-date: Mon, 14 Nov 2005 18:59:09 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 5aad7e145e501fbfb346954950a33b042a963633
# Parent  bffbe58801d01853b04967337f247b7f64af5fb4
If /sbin/ isn't in the path, udev rules will erroneously not get
installed.

Signed-off-by: Nivedita Singhvi <niv@xxxxxxxxxx>

diff -r bffbe58801d0 -r 5aad7e145e50 install.sh
--- a/install.sh        Sat Nov 12 17:59:56 2005
+++ b/install.sh        Mon Nov 14 10:05:34 2005
@@ -27,7 +27,7 @@
 cp -fdRL $src/etc/init.d/* $dst/etc/init.d/
 echo "All done."
 
-if [ -x /sbin/udev ] && [ ! -z `udev -V` ] && [ `/sbin/udev -V` -ge 059 ]; then
+if [ -x /sbin/udev ] && [ ! -z `/sbin/udev -V` ] && [ `/sbin/udev -V` -ge 059 
]; then
   cp -f $src/etc/udev/rules.d/*.rules $dst/etc/udev/rules.d/
 else
   cp -f $src/etc/hotplug/*.agent $dst/etc/hotplug/
diff -r bffbe58801d0 -r 5aad7e145e50 
linux-2.6-xen-sparse/drivers/xen/console/xencons_ring.c
--- a/linux-2.6-xen-sparse/drivers/xen/console/xencons_ring.c   Sat Nov 12 
17:59:56 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/console/xencons_ring.c   Mon Nov 14 
10:05:34 2005
@@ -30,6 +30,12 @@
        return mfn_to_virt(xen_start_info->console_mfn);
 }
 
+static inline void notify_daemon(void)
+{
+       /* Use evtchn: this is called early, before irq is set up. */
+       notify_remote_via_evtchn(xen_start_info->console_evtchn);
+}
+
 int xencons_ring_send(const char *data, unsigned len)
 {
        int sent = 0;
@@ -47,8 +53,7 @@
        wmb();
        intf->out_prod = prod;
 
-       /* Use evtchn: this is called early, before irq is set up. */
-       notify_remote_via_evtchn(xen_start_info->console_evtchn);
+       notify_daemon();
 
        return sent;
 }      
@@ -70,8 +75,10 @@
                                1, regs);
        }
 
-       wmb();
+       mb();
        intf->in_cons = cons;
+
+       notify_daemon();
 
        return IRQ_HANDLED;
 }
@@ -102,6 +109,9 @@
 
        xencons_irq = err;
 
+       /* In case we have in-flight data after save/restore... */
+       notify_daemon();
+
        return 0;
 }
 
diff -r bffbe58801d0 -r 5aad7e145e50 
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_comms.c
--- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_comms.c    Sat Nov 12 
17:59:56 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_comms.c    Mon Nov 14 
10:05:34 2005
@@ -36,7 +36,7 @@
 #include <asm-xen/xenbus.h>
 #include "xenbus_comms.h"
 
-static int xenbus_irq      = 0;
+static int xenbus_irq;
 
 extern void xenbus_probe(void *); 
 extern int xenstored_ready; 
@@ -51,7 +51,7 @@
 
 static irqreturn_t wake_waiting(int irq, void *unused, struct pt_regs *regs)
 {
-       if(unlikely(xenstored_ready == 0)) {
+       if (unlikely(xenstored_ready == 0)) {
                xenstored_ready = 1; 
                schedule_work(&probe_work); 
        } 
@@ -188,9 +188,6 @@
        }
 
        xenbus_irq = err;
-
-       /* FIXME zero out page -- domain builder should probably do this*/
-       memset(mfn_to_virt(xen_start_info->store_mfn), 0, PAGE_SIZE);
 
        return 0;
 }
diff -r bffbe58801d0 -r 5aad7e145e50 tools/check/check_hotplug
--- a/tools/check/check_hotplug Sat Nov 12 17:59:56 2005
+++ b/tools/check/check_hotplug Mon Nov 14 10:05:34 2005
@@ -7,7 +7,7 @@
    exit 1
 }
 
-if [ -x /sbin/udev ] && [ ! -z `udev -V` ] && [ `udev -V` -ge 059 ]; then
+if [ -x /sbin/udev ] && [ ! -z `/sbin/udev -V` ] && [ `/sbin/udev -V` -ge 059 
]; then
   exit 0
 fi
 
diff -r bffbe58801d0 -r 5aad7e145e50 tools/examples/Makefile
--- a/tools/examples/Makefile   Sat Nov 12 17:59:56 2005
+++ b/tools/examples/Makefile   Mon Nov 14 10:05:34 2005
@@ -41,7 +41,7 @@
 ifeq ($(findstring $(DI),$(DE)),$(DI))
 HOTPLUGS=install-hotplug install-udev
 else
-ifeq ($(shell [ -x /sbin/udev ] && [ ! -z `udev -V` ] && [ `/sbin/udev -V` -ge 
059 ] && echo 1),1)
+ifeq ($(shell [ -x /sbin/udev ] && [ ! -z `/sbin/udev -V` ] && [ `/sbin/udev 
-V` -ge 059 ] && echo 1),1)
 HOTPLUGS=install-udev
 else
 HOTPLUGS=install-hotplug
diff -r bffbe58801d0 -r 5aad7e145e50 tools/libxc/xc_linux_build.c
--- a/tools/libxc/xc_linux_build.c      Sat Nov 12 17:59:56 2005
+++ b/tools/libxc/xc_linux_build.c      Mon Nov 14 10:05:34 2005
@@ -619,7 +619,9 @@
 
     *store_mfn = page_array[(vstoreinfo_start-dsi.v_start) >> PAGE_SHIFT];
     *console_mfn = page_array[(vconsole_start-dsi.v_start) >> PAGE_SHIFT];
-
+    if ( xc_clear_domain_page(xc_handle, dom, *store_mfn) ||
+         xc_clear_domain_page(xc_handle, dom, *console_mfn) )
+        goto error_out;
 
     start_info = xc_map_foreign_range(
         xc_handle, dom, PAGE_SIZE, PROT_READ|PROT_WRITE,
diff -r bffbe58801d0 -r 5aad7e145e50 tools/libxc/xc_linux_restore.c
--- a/tools/libxc/xc_linux_restore.c    Sat Nov 12 17:59:56 2005
+++ b/tools/libxc/xc_linux_restore.c    Mon Nov 14 10:05:34 2005
@@ -11,8 +11,6 @@
 
 #include "xg_private.h"
 #include "xg_save_restore.h"
-
-
 
 /* max mfn of the whole machine */
 static uint32_t max_mfn; 
diff -r bffbe58801d0 -r 5aad7e145e50 tools/libxc/xc_private.c
--- a/tools/libxc/xc_private.c  Sat Nov 12 17:59:56 2005
+++ b/tools/libxc/xc_private.c  Mon Nov 14 10:05:34 2005
@@ -336,6 +336,19 @@
     return 0;
 }
 
+int xc_clear_domain_page(int xc_handle,
+                         uint32_t domid,
+                         unsigned long dst_pfn)
+{
+    void *vaddr = xc_map_foreign_range(
+        xc_handle, domid, PAGE_SIZE, PROT_WRITE, dst_pfn);
+    if ( vaddr == NULL )
+        return -1;
+    memset(vaddr, 0, PAGE_SIZE);
+    munmap(vaddr, PAGE_SIZE);
+    return 0;
+}
+
 unsigned long xc_get_filesz(int fd)
 {
     uint16_t sig;
diff -r bffbe58801d0 -r 5aad7e145e50 tools/libxc/xc_vmx_build.c
--- a/tools/libxc/xc_vmx_build.c        Sat Nov 12 17:59:56 2005
+++ b/tools/libxc/xc_vmx_build.c        Mon Nov 14 10:05:34 2005
@@ -495,6 +495,9 @@
     }
 
     *store_mfn = page_array[(v_end-2) >> PAGE_SHIFT];
+    if ( xc_clear_domain_page(xc_handle, dom, *store_mfn) )
+        goto error_out;
+
     shared_page_frame = (v_end - PAGE_SIZE) >> PAGE_SHIFT;
 
     if ((e820_page = xc_map_foreign_range(
diff -r bffbe58801d0 -r 5aad7e145e50 tools/libxc/xenctrl.h
--- a/tools/libxc/xenctrl.h     Sat Nov 12 17:59:56 2005
+++ b/tools/libxc/xenctrl.h     Mon Nov 14 10:05:34 2005
@@ -424,6 +424,9 @@
 int xc_copy_to_domain_page(int xc_handle, uint32_t domid,
                           unsigned long dst_pfn, void *src_page);
 
+int xc_clear_domain_page(int xc_handle, uint32_t domid,
+                         unsigned long dst_pfn);
+
 int xc_ia64_copy_to_domain_pages(int xc_handle, uint32_t domid,
         void* src_page, unsigned long dst_pfn, int nr_pages);
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] If /sbin/ isn't in the path, udev rules will erroneously not get, Xen patchbot -unstable <=