diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-05-11 11:19:23 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-05-11 11:19:23 +0100 |
commit | ae3e4d2c6a982636a7889627bf806c20e3e13f57 (patch) | |
tree | 07a4ca9a8b760f51a01835b878c04b30352f349e | |
parent | a974b14d790ce883da98ba8094a0c59109bae0b7 (diff) | |
download | xen-ae3e4d2c6a982636a7889627bf806c20e3e13f57.tar.gz xen-ae3e4d2c6a982636a7889627bf806c20e3e13f57.tar.bz2 xen-ae3e4d2c6a982636a7889627bf806c20e3e13f57.zip |
Define ABS() library function. Use it.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-rw-r--r-- | xen/common/compat/memory.c | 2 | ||||
-rw-r--r-- | xen/include/xen/lib.h | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/xen/common/compat/memory.c b/xen/common/compat/memory.c index 4acbf7447a..2402984f1e 100644 --- a/xen/common/compat/memory.c +++ b/xen/common/compat/memory.c @@ -116,7 +116,7 @@ int compat_memory_op(unsigned int cmd, XEN_GUEST_HANDLE(void) compat) start_extent = cmp.xchg.nr_exchanged; end_extent = (COMPAT_ARG_XLAT_SIZE - sizeof(*nat.xchg)) / - (((1U << __builtin_abs(order_delta)) + 1) * + (((1U << ABS(order_delta)) + 1) * sizeof(*space)); if ( end_extent == 0 ) { diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h index 45fc60f857..e09929a604 100644 --- a/xen/include/xen/lib.h +++ b/xen/include/xen/lib.h @@ -40,6 +40,11 @@ do { \ #define ASSERT(p) ((void)0) #endif +#define ABS(_x) ({ \ + typeof(_x) __x = (_x); \ + (__x < 0) ? -__x : __x; \ +}) + #define SWAP(_a, _b) \ do { typeof(_a) _t = (_a); (_a) = (_b); (_b) = _t; } while ( 0 ) |