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] [xen-unstable] minios: Various small fixes.

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] minios: Various small fixes.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 20 Mar 2007 09:50:15 -0700
Delivery-date: Tue, 20 Mar 2007 09:50:41 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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
# Date 1174296882 0
# Node ID f40079acf646a14bf891e126dc3ac2e798c3d4bb
# Parent  b795b90e4ff6ad9ce0c9fc47d921f91a4fb12cc5
minios: Various small fixes.

- Fixed type of variables in hypervisor.c.
- Fixed not removing a waiter from watch_queue.
- Make wait_for_watch() global accessible.

Signed-off-by: Dietmar Hahn <dietmar.hahn@xxxxxxxxxxxxxxxxxxx>
---
 extras/mini-os/hypervisor.c     |    4 ++--
 extras/mini-os/include/wait.h   |    7 +++++++
 extras/mini-os/include/xenbus.h |    1 +
 extras/mini-os/xenbus/xenbus.c  |    3 ++-
 4 files changed, 12 insertions(+), 3 deletions(-)

diff -r b795b90e4ff6 -r f40079acf646 extras/mini-os/hypervisor.c
--- a/extras/mini-os/hypervisor.c       Mon Mar 19 09:32:52 2007 +0000
+++ b/extras/mini-os/hypervisor.c       Mon Mar 19 09:34:42 2007 +0000
@@ -35,8 +35,8 @@
 
 void do_hypervisor_callback(struct pt_regs *regs)
 {
-    u32               l1, l2;
-    unsigned int   l1i, l2i, port;
+    unsigned long  l1, l2, l1i, l2i;
+    unsigned int   port;
     int            cpu = 0;
     shared_info_t *s = HYPERVISOR_shared_info;
     vcpu_info_t   *vcpu_info = &s->vcpu_info[cpu];
diff -r b795b90e4ff6 -r f40079acf646 extras/mini-os/include/wait.h
--- a/extras/mini-os/include/wait.h     Mon Mar 19 09:32:52 2007 +0000
+++ b/extras/mini-os/include/wait.h     Mon Mar 19 09:34:42 2007 +0000
@@ -74,6 +74,13 @@ static inline void wake_up(struct wait_q
     local_irq_restore(flags);   \
 } while (0)
 
+#define remove_waiter(w) do {   \
+    unsigned long flags;        \
+    local_irq_save(flags);      \
+    remove_wait_queue(&w);      \
+    local_irq_restore(flags);   \
+} while (0)
+
 #define wait_event(wq, condition) do{             \
     unsigned long flags;                          \
     if(condition)                                 \
diff -r b795b90e4ff6 -r f40079acf646 extras/mini-os/include/xenbus.h
--- a/extras/mini-os/include/xenbus.h   Mon Mar 19 09:32:52 2007 +0000
+++ b/extras/mini-os/include/xenbus.h   Mon Mar 19 09:34:42 2007 +0000
@@ -13,6 +13,7 @@ char *xenbus_read(xenbus_transaction_t x
 char *xenbus_read(xenbus_transaction_t xbt, const char *path, char **value);
 
 char *xenbus_watch_path(xenbus_transaction_t xbt, const char *path);
+void wait_for_watch(void);
 char* xenbus_wait_for_value(const char*,const char*);
 
 /* Associates a value with a path.  Returns a malloc'd error string on
diff -r b795b90e4ff6 -r f40079acf646 extras/mini-os/xenbus/xenbus.c
--- a/extras/mini-os/xenbus/xenbus.c    Mon Mar 19 09:32:52 2007 +0000
+++ b/extras/mini-os/xenbus/xenbus.c    Mon Mar 19 09:34:42 2007 +0000
@@ -72,11 +72,12 @@ static void memcpy_from_ring(const void 
     memcpy(dest + c1, ring, c2);
 }
 
-static inline void wait_for_watch(void)
+void wait_for_watch(void)
 {
     DEFINE_WAIT(w);
     add_waiter(w,watch_queue);
     schedule();
+    remove_waiter(w);
     wake(current);
 }
 

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] minios: Various small fixes., Xen patchbot-unstable <=