diff options
author | John W. Linville <linville@tuxdriver.com> | 2006-02-27 20:12:23 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2006-02-27 20:12:23 -0500 |
commit | 9f5a405b6843933c1cae5826046a5dd6357f142a (patch) | |
tree | bcdbb0175d37b780551b71c40abcde964a8905eb /arch/i386/kernel/efi.c | |
parent | b7cffb028abbffff3ba0b87268ecb775ed354049 (diff) | |
parent | 051d3cbd96909b2fe6b5038e7bbe77f41356db05 (diff) | |
download | kernel_samsung_smdk4412-9f5a405b6843933c1cae5826046a5dd6357f142a.zip kernel_samsung_smdk4412-9f5a405b6843933c1cae5826046a5dd6357f142a.tar.gz kernel_samsung_smdk4412-9f5a405b6843933c1cae5826046a5dd6357f142a.tar.bz2 |
Merge branch 'from-linus'
Diffstat (limited to 'arch/i386/kernel/efi.c')
-rw-r--r-- | arch/i386/kernel/efi.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/i386/kernel/efi.c b/arch/i386/kernel/efi.c index ecad519..e3e42fd 100644 --- a/arch/i386/kernel/efi.c +++ b/arch/i386/kernel/efi.c @@ -103,17 +103,19 @@ static void efi_call_phys_prelog(void) */ local_flush_tlb(); - cpu_gdt_descr[0].address = __pa(cpu_gdt_descr[0].address); - load_gdt((struct Xgt_desc_struct *) __pa(&cpu_gdt_descr[0])); + per_cpu(cpu_gdt_descr, 0).address = + __pa(per_cpu(cpu_gdt_descr, 0).address); + load_gdt((struct Xgt_desc_struct *)__pa(&per_cpu(cpu_gdt_descr, 0))); } static void efi_call_phys_epilog(void) { unsigned long cr4; - cpu_gdt_descr[0].address = - (unsigned long) __va(cpu_gdt_descr[0].address); - load_gdt(&cpu_gdt_descr[0]); + per_cpu(cpu_gdt_descr, 0).address = + (unsigned long)__va(per_cpu(cpu_gdt_descr, 0).address); + load_gdt((struct Xgt_desc_struct *)__va(&per_cpu(cpu_gdt_descr, 0))); + cr4 = read_cr4(); if (cr4 & X86_CR4_PSE) { |