aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>2008-01-30 13:30:45 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-30 13:30:45 +0100
commit12c3cbbb7e3218b1c3ed4c97b3496fc3f94ea967 (patch)
tree055d83cf9cbd608e0ccf3ebe699b4b81e1f824a4
parentx86: ptrace fs/gs_base (diff)
downloadlinux-dev-12c3cbbb7e3218b1c3ed4c97b3496fc3f94ea967.tar.xz
linux-dev-12c3cbbb7e3218b1c3ed4c97b3496fc3f94ea967.zip
x86: desc_empty
This replaces the desc_empty macro with an inline. It now handles easily any of the four different types used between 32/64 code to refer to these 8 bytes. It's identical in both asm-x86/processor_64.h and asm-x86/processor_32.h, so if these files ever get merged this function can be in the common code. This also removes the desc_equal macro because nothing uses it. Signed-off-by: Roland McGrath <roland@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--include/asm-x86/processor_32.h9
-rw-r--r--include/asm-x86/processor_64.h10
2 files changed, 10 insertions, 9 deletions
diff --git a/include/asm-x86/processor_32.h b/include/asm-x86/processor_32.h
index 3b51a18f16d5..2540bf8d5724 100644
--- a/include/asm-x86/processor_32.h
+++ b/include/asm-x86/processor_32.h
@@ -28,11 +28,12 @@ struct desc_struct {
unsigned long a,b;
};
-#define desc_empty(desc) \
- (!((desc)->a | (desc)->b))
+static inline int desc_empty(const void *ptr)
+{
+ const u32 *desc = ptr;
+ return !(desc[0] | desc[1]);
+}
-#define desc_equal(desc1, desc2) \
- (((desc1)->a == (desc2)->a) && ((desc1)->b == (desc2)->b))
/*
* Default implementation of macro that returns current
* instruction pointer ("program counter").
diff --git a/include/asm-x86/processor_64.h b/include/asm-x86/processor_64.h
index 2ae8ceb8a74e..20d8935d141a 100644
--- a/include/asm-x86/processor_64.h
+++ b/include/asm-x86/processor_64.h
@@ -30,11 +30,11 @@
#define VIP_MASK 0x00100000 /* virtual interrupt pending */
#define ID_MASK 0x00200000
-#define desc_empty(desc) \
- (!((desc)->a | (desc)->b))
-
-#define desc_equal(desc1, desc2) \
- (((desc1)->a == (desc2)->a) && ((desc1)->b == (desc2)->b))
+static inline int desc_empty(const void *ptr)
+{
+ const u32 *desc = ptr;
+ return !(desc[0] | desc[1]);
+}
/*
* Default implementation of macro that returns current