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] xen: Make bool_t an arch-dep definition,

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] xen: Make bool_t an arch-dep definition, and define macros
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 06 Apr 2007 05:00:13 -0700
Delivery-date: Fri, 06 Apr 2007 04:59:37 -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 Keir Fraser <keir@xxxxxxxxxxxxx>
# Date 1175850645 -3600
# Node ID 5a7eebbae5dc2cf9cc0e046eb8b06b04689b8046
# Parent  a00c629f67be6e42468dc08b6e35904641462e8a
xen: Make bool_t an arch-dep definition, and define macros
specifically for atomic test-and-modify operations on bool_t.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 xen/common/domain.c             |    8 ++++----
 xen/include/asm-ia64/xentypes.h |    5 +++++
 xen/include/asm-powerpc/types.h |    4 ++++
 xen/include/asm-x86/types.h     |    4 ++++
 xen/include/xen/types.h         |    2 --
 5 files changed, 17 insertions(+), 6 deletions(-)

diff -r a00c629f67be -r 5a7eebbae5dc xen/common/domain.c
--- a/xen/common/domain.c       Thu Apr 05 18:47:04 2007 +0100
+++ b/xen/common/domain.c       Fri Apr 06 10:10:45 2007 +0100
@@ -307,7 +307,7 @@ void domain_kill(struct domain *d)
     domain_pause(d);
 
     /* Already dying? Then bail. */
-    if ( xchg(&d->is_dying, 1) )
+    if ( test_and_set_bool(d->is_dying) )
     {
         domain_unpause(d);
         return;
@@ -453,7 +453,7 @@ void domain_pause_for_debugger(void)
     struct vcpu *v;
 
     atomic_inc(&d->pause_count);
-    if ( xchg(&d->is_paused_by_controller, 1) )
+    if ( test_and_set_bool(d->is_paused_by_controller) )
         domain_unpause(d); /* race-free atomic_dec(&d->pause_count) */
 
     for_each_vcpu ( d, v )
@@ -553,13 +553,13 @@ void domain_pause_by_systemcontroller(st
 void domain_pause_by_systemcontroller(struct domain *d)
 {
     domain_pause(d);
-    if ( xchg(&d->is_paused_by_controller, 1) )
+    if ( test_and_set_bool(d->is_paused_by_controller) )
         domain_unpause(d);
 }
 
 void domain_unpause_by_systemcontroller(struct domain *d)
 {
-    if ( xchg(&d->is_paused_by_controller, 0) )
+    if ( test_and_clear_bool(d->is_paused_by_controller) )
         domain_unpause(d);
 }
 
diff -r a00c629f67be -r 5a7eebbae5dc xen/include/asm-ia64/xentypes.h
--- a/xen/include/asm-ia64/xentypes.h   Thu Apr 05 18:47:04 2007 +0100
+++ b/xen/include/asm-ia64/xentypes.h   Fri Apr 06 10:10:45 2007 +0100
@@ -5,6 +5,11 @@ typedef unsigned long ssize_t;
 typedef unsigned long ssize_t;
 typedef unsigned long size_t;
 typedef long long loff_t;
+
+typedef char bool_t;
+#define test_and_set_bool(b)   xchg(&(b), 1)
+#define test_and_clear_bool(b) xchg(&(b), 0)
+
 #endif /* !__ASSEMBLY__ */
 
 #endif /* _ASM_IA64_XENTYPES_H */
diff -r a00c629f67be -r 5a7eebbae5dc xen/include/asm-powerpc/types.h
--- a/xen/include/asm-powerpc/types.h   Thu Apr 05 18:47:04 2007 +0100
+++ b/xen/include/asm-powerpc/types.h   Fri Apr 06 10:10:45 2007 +0100
@@ -70,5 +70,9 @@ typedef u64 dma64_addr_t;
 
 typedef unsigned short xmem_bufctl_t;
 
+typedef int bool_t;
+#define test_and_set_bool(b)   xchg(&(b), 1)
+#define test_and_clear_bool(b) xchg(&(b), 0)
+
 #endif  /* __ASSEMBLY__ */
 #endif
diff -r a00c629f67be -r 5a7eebbae5dc xen/include/asm-x86/types.h
--- a/xen/include/asm-x86/types.h       Thu Apr 05 18:47:04 2007 +0100
+++ b/xen/include/asm-x86/types.h       Fri Apr 06 10:10:45 2007 +0100
@@ -52,6 +52,10 @@ typedef unsigned long paddr_t;
 
 typedef unsigned long size_t;
 
+typedef char bool_t;
+#define test_and_set_bool(b)   xchg(&(b), 1)
+#define test_and_clear_bool(b) xchg(&(b), 0)
+
 #endif /* __ASSEMBLY__ */
 
 #if defined(__i386__)
diff -r a00c629f67be -r 5a7eebbae5dc xen/include/xen/types.h
--- a/xen/include/xen/types.h   Thu Apr 05 18:47:04 2007 +0100
+++ b/xen/include/xen/types.h   Fri Apr 06 10:10:45 2007 +0100
@@ -19,8 +19,6 @@
 #define LONG_MAX        ((long)(~0UL>>1))
 #define LONG_MIN        (-LONG_MAX - 1)
 #define ULONG_MAX       (~0UL)
-
-typedef char bool_t;
 
 /* bsd */
 typedef unsigned char           u_char;

_______________________________________________
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] xen: Make bool_t an arch-dep definition, and define macros, Xen patchbot-unstable <=