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>
This commit is contained in:
committed by
Ingo Molnar
parent
8d947344c4
commit
25deca53e9
@@ -113,7 +113,7 @@ static inline void store_idt(struct desc_ptr *dtr)
|
|||||||
static inline void set_tssldt_descriptor(void *ptr, unsigned long tss,
|
static inline void set_tssldt_descriptor(void *ptr, unsigned long tss,
|
||||||
unsigned type, unsigned size)
|
unsigned type, unsigned size)
|
||||||
{
|
{
|
||||||
struct ldttss_desc d;
|
struct ldttss_desc64 d;
|
||||||
|
|
||||||
memset(&d, 0, sizeof(d));
|
memset(&d, 0, sizeof(d));
|
||||||
d.limit0 = size & 0xFFFF;
|
d.limit0 = size & 0xFFFF;
|
||||||
|
@@ -58,7 +58,7 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// LDT or TSS descriptor in the GDT. 16 bytes.
|
// LDT or TSS descriptor in the GDT. 16 bytes.
|
||||||
struct ldttss_desc {
|
struct ldttss_desc64 {
|
||||||
u16 limit0;
|
u16 limit0;
|
||||||
u16 base0;
|
u16 base0;
|
||||||
unsigned base1 : 8, type : 5, dpl : 2, p : 1;
|
unsigned base1 : 8, type : 5, dpl : 2, p : 1;
|
||||||
@@ -69,8 +69,10 @@ struct ldttss_desc {
|
|||||||
|
|
||||||
#ifdef CONFIG_X86_64
|
#ifdef CONFIG_X86_64
|
||||||
typedef struct gate_struct64 gate_desc;
|
typedef struct gate_struct64 gate_desc;
|
||||||
|
typedef struct ldttss_desc64 ldt_desc;
|
||||||
#else
|
#else
|
||||||
typedef struct desc_struct gate_desc;
|
typedef struct desc_struct gate_desc;
|
||||||
|
typedef struct desc_struct ldt_desc;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct desc_ptr {
|
struct desc_ptr {
|
||||||
|
Reference in New Issue
Block a user