Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b68f01b authored by Glauber de Oliveira Costa's avatar Glauber de Oliveira Costa Committed by Ingo Molnar
Browse files

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: default avatarGlauber de Oliveira Costa <gcosta@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 6842ef0e
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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);
+2 −2
Original line number Diff line number Diff line
@@ -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;
+2 −2
Original line number Diff line number Diff line
@@ -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;
Loading