x86: unify struct desc_ptr
This patch unifies struct desc_ptr between i386 and x86_64. They can be expressed in the exact same way in C code, only having to change the name of one of them. As Xgt_desc_struct is ugly and big, this is the one that goes away. There's also a padding field in i386, but it is not really needed in the C structure definition. 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
6842ef0e85
commit
6b68f01baa
@@ -70,9 +70,8 @@ void foo(void)
|
||||
OFFSET(TI_cpu, thread_info, cpu);
|
||||
BLANK();
|
||||
|
||||
OFFSET(GDS_size, Xgt_desc_struct, size);
|
||||
OFFSET(GDS_address, Xgt_desc_struct, address);
|
||||
OFFSET(GDS_pad, Xgt_desc_struct, pad);
|
||||
OFFSET(GDS_size, desc_ptr, size);
|
||||
OFFSET(GDS_address, desc_ptr, address);
|
||||
BLANK();
|
||||
|
||||
OFFSET(PT_EBX, pt_regs, bx);
|
||||
|
@@ -649,7 +649,7 @@ struct pt_regs * __devinit idle_regs(struct pt_regs *regs)
|
||||
* it's on the real one. */
|
||||
void switch_to_new_gdt(void)
|
||||
{
|
||||
struct Xgt_desc_struct gdt_descr;
|
||||
struct desc_ptr gdt_descr;
|
||||
|
||||
gdt_descr.address = (long)get_cpu_gdt_table(smp_processor_id());
|
||||
gdt_descr.size = GDT_SIZE - 1;
|
||||
|
@@ -17,7 +17,7 @@ static unsigned long doublefault_stack[DOUBLEFAULT_STACKSIZE];
|
||||
|
||||
static void doublefault_fn(void)
|
||||
{
|
||||
struct Xgt_desc_struct gdt_desc = {0, 0};
|
||||
struct desc_ptr gdt_desc = {0, 0};
|
||||
unsigned long gdt, tss;
|
||||
|
||||
store_gdt(&gdt_desc);
|
||||
|
@@ -69,7 +69,7 @@ static void efi_call_phys_prelog(void) __acquires(efi_rt_lock)
|
||||
{
|
||||
unsigned long cr4;
|
||||
unsigned long temp;
|
||||
struct Xgt_desc_struct gdt_descr;
|
||||
struct desc_ptr gdt_descr;
|
||||
|
||||
spin_lock(&efi_rt_lock);
|
||||
local_irq_save(efi_rt_eflags);
|
||||
@@ -111,7 +111,7 @@ static void efi_call_phys_prelog(void) __acquires(efi_rt_lock)
|
||||
static void efi_call_phys_epilog(void) __releases(efi_rt_lock)
|
||||
{
|
||||
unsigned long cr4;
|
||||
struct Xgt_desc_struct gdt_descr;
|
||||
struct desc_ptr gdt_descr;
|
||||
|
||||
gdt_descr.address = (unsigned long)get_cpu_gdt_table(0);
|
||||
gdt_descr.size = GDT_SIZE - 1;
|
||||
|
@@ -32,7 +32,7 @@ static u32 kexec_pte1[1024] PAGE_ALIGNED;
|
||||
|
||||
static void set_idt(void *newidt, __u16 limit)
|
||||
{
|
||||
struct Xgt_desc_struct curidt;
|
||||
struct desc_ptr curidt;
|
||||
|
||||
/* ia32 supports unaliged loads & stores */
|
||||
curidt.size = limit;
|
||||
@@ -44,7 +44,7 @@ static void set_idt(void *newidt, __u16 limit)
|
||||
|
||||
static void set_gdt(void *newgdt, __u16 limit)
|
||||
{
|
||||
struct Xgt_desc_struct curgdt;
|
||||
struct desc_ptr curgdt;
|
||||
|
||||
/* ia32 supports unaligned loads & stores */
|
||||
curgdt.size = limit;
|
||||
|
@@ -161,7 +161,7 @@ real_mode_gdt_entries [3] =
|
||||
0x000092000100ffffULL /* 16-bit real-mode 64k data at 0x00000100 */
|
||||
};
|
||||
|
||||
static struct Xgt_desc_struct
|
||||
static struct desc_ptr
|
||||
real_mode_gdt = { sizeof (real_mode_gdt_entries) - 1, (long)real_mode_gdt_entries },
|
||||
real_mode_idt = { 0x3ff, 0 },
|
||||
no_idt = { 0, 0 };
|
||||
|
Reference in New Issue
Block a user