aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/platform/efi/efi_32.c')
-rw-r--r--arch/x86/platform/efi/efi_32.c11
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 */
40static unsigned long efi_rt_eflags;
41 40
42void efi_sync_low_kernel_mappings(void) {} 41void efi_sync_low_kernel_mappings(void) {}
43void __init efi_dump_pagetable(void) {} 42void __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
86void __init efi_runtime_mkexec(void) 81void __init efi_runtime_mkexec(void)