efi/x86: Convert x86 EFI earlyprintk into generic earlycon implementation
[linux-2.6-microblaze.git] / arch / x86 / include / asm / efi.h
index eea40d5..606a4b6 100644 (file)
@@ -19,7 +19,7 @@
  * This is the main reason why we're doing stable VA mappings for RT
  * services.
  *
- * This flag is used in conjuction with a chicken bit called
+ * This flag is used in conjunction with a chicken bit called
  * "efi=old_map" which can be used as a fallback to the old runtime
  * services mapping method in case there's some b0rkage with a
  * particular EFI implementation (haha, it is hard to hold up the
@@ -82,8 +82,7 @@ struct efi_scratch {
 #define arch_efi_call_virt_setup()                                     \
 ({                                                                     \
        efi_sync_low_kernel_mappings();                                 \
-       preempt_disable();                                              \
-       __kernel_fpu_begin();                                           \
+       kernel_fpu_begin();                                             \
        firmware_restrict_branch_speculation_start();                   \
                                                                        \
        if (!efi_enabled(EFI_OLD_MEMMAP))                               \
@@ -99,8 +98,7 @@ struct efi_scratch {
                efi_switch_mm(efi_scratch.prev_mm);                     \
                                                                        \
        firmware_restrict_branch_speculation_end();                     \
-       __kernel_fpu_end();                                             \
-       preempt_enable();                                               \
+       kernel_fpu_end();                                               \
 })
 
 extern void __iomem *__init efi_ioremap(unsigned long addr, unsigned long size,
@@ -141,6 +139,8 @@ extern int __init efi_reuse_config(u64 tables, int nr_tables);
 extern void efi_delete_dummy_variable(void);
 extern void efi_switch_mm(struct mm_struct *mm);
 extern void efi_recover_from_page_fault(unsigned long phys_addr);
+extern void efi_free_boot_services(void);
+extern void efi_reserve_boot_services(void);
 
 struct efi_setup_data {
        u64 fw_vendor;
@@ -170,7 +170,6 @@ static inline bool efi_runtime_supported(void)
        return false;
 }
 
-extern struct console early_efi_console;
 extern void parse_efi_setup(u64 phys_addr, u32 data_len);
 
 extern void efifb_setup_from_dmi(struct screen_info *si, const char *opt);