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>
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;
};
// 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;
#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 {