summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlauber de Oliveira Costa <gcosta@redhat.com>2008-01-30 13:31:13 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-30 13:31:13 +0100
commit25deca53e9b74a899efd3ae1f4493f4f2ce36846 (patch)
treeb971cb4a1a315e3c48cd5d304dc45e75b7d21707
parentx86: change write_idt_entry signature (diff)
downloadlinux-25deca53e9b74a899efd3ae1f4493f4f2ce36846.tar.xz
linux-25deca53e9b74a899efd3ae1f4493f4f2ce36846.zip
x86: introduce ldt_desc type.
this patch introduces ldt_desc type to account for the differences in the ldt descriptor in x86_64 and i386 Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--include/asm-x86/desc_64.h2
-rw-r--r--include/asm-x86/desc_defs.h4
2 files changed, 4 insertions, 2 deletions
diff --git a/include/asm-x86/desc_64.h b/include/asm-x86/desc_64.h
index 887393f044b1..c49f928ed8b6 100644
--- a/include/asm-x86/desc_64.h
+++ b/include/asm-x86/desc_64.h
@@ -113,7 +113,7 @@ static inline void store_idt(struct desc_ptr *dtr)
static inline void set_tssldt_descriptor(void *ptr, unsigned long tss,
unsigned type, unsigned size)
{
- struct ldttss_desc d;
+ struct ldttss_desc64 d;
memset(&d, 0, sizeof(d));
d.limit0 = size & 0xFFFF;
diff --git a/include/asm-x86/desc_defs.h b/include/asm-x86/desc_defs.h
index 9732285116af..09ea05243497 100644
--- a/include/asm-x86/desc_defs.h
+++ b/include/asm-x86/desc_defs.h
@@ -58,7 +58,7 @@ enum {
};
// LDT or TSS descriptor in the GDT. 16 bytes.
-struct ldttss_desc {
+struct ldttss_desc64 {
u16 limit0;
u16 base0;
unsigned base1 : 8, type : 5, dpl : 2, p : 1;
@@ -69,8 +69,10 @@ struct ldttss_desc {
#ifdef CONFIG_X86_64
typedef struct gate_struct64 gate_desc;
+typedef struct ldttss_desc64 ldt_desc;
#else
typedef struct desc_struct gate_desc;
+typedef struct desc_struct ldt_desc;
#endif
struct desc_ptr {