diff options
Diffstat (limited to 'arch/x86/platform/efi/efi_32.c')
-rw-r--r-- | arch/x86/platform/efi/efi_32.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/arch/x86/platform/efi/efi_32.c b/arch/x86/platform/efi/efi_32.c index 9ee3491e31f..be4e7eb4167 100644 --- a/arch/x86/platform/efi/efi_32.c +++ b/arch/x86/platform/efi/efi_32.c | |||
@@ -33,11 +33,10 @@ | |||
33 | 33 | ||
34 | /* | 34 | /* |
35 | * To make EFI call EFI runtime service in physical addressing mode we need | 35 | * To make EFI call EFI runtime service in physical addressing mode we need |
36 | * prelog/epilog before/after the invocation to disable interrupt, to | 36 | * prolog/epilog before/after the invocation to claim the EFI runtime service |
37 | * claim EFI runtime service handler exclusively and to duplicate a memory in | 37 | * handler exclusively and to duplicate a memory mapping in low memory space, |
38 | * low memory space say 0 - 3G. | 38 | * say 0 - 3G. |
39 | */ | 39 | */ |
40 | static unsigned long efi_rt_eflags; | ||
41 | 40 | ||
42 | void efi_sync_low_kernel_mappings(void) {} | 41 | void efi_sync_low_kernel_mappings(void) {} |
43 | void __init efi_dump_pagetable(void) {} | 42 | void __init efi_dump_pagetable(void) {} |
@@ -59,8 +58,6 @@ void efi_call_phys_prelog(void) | |||
59 | { | 58 | { |
60 | struct desc_ptr gdt_descr; | 59 | struct desc_ptr gdt_descr; |
61 | 60 | ||
62 | local_irq_save(efi_rt_eflags); | ||
63 | |||
64 | load_cr3(initial_page_table); | 61 | load_cr3(initial_page_table); |
65 | __flush_tlb_all(); | 62 | __flush_tlb_all(); |
66 | 63 | ||
@@ -79,8 +76,6 @@ void efi_call_phys_epilog(void) | |||
79 | 76 | ||
80 | load_cr3(swapper_pg_dir); | 77 | load_cr3(swapper_pg_dir); |
81 | __flush_tlb_all(); | 78 | __flush_tlb_all(); |
82 | |||
83 | local_irq_restore(efi_rt_eflags); | ||
84 | } | 79 | } |
85 | 80 | ||
86 | void __init efi_runtime_mkexec(void) | 81 | void __init efi_runtime_mkexec(void) |