aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/include/asm/realmode.h6
-rw-r--r--arch/x86/platform/efi/quirks.c2
-rw-r--r--arch/x86/realmode/init.c9
3 files changed, 7 insertions, 10 deletions
diff --git a/arch/x86/include/asm/realmode.h b/arch/x86/include/asm/realmode.h
index 63b3393bd98e..c53682303c9c 100644
--- a/arch/x86/include/asm/realmode.h
+++ b/arch/x86/include/asm/realmode.h
@@ -77,7 +77,11 @@ static inline size_t real_mode_size_needed(void)
77 return ALIGN(real_mode_blob_end - real_mode_blob, PAGE_SIZE); 77 return ALIGN(real_mode_blob_end - real_mode_blob, PAGE_SIZE);
78} 78}
79 79
80void set_real_mode_mem(phys_addr_t mem, size_t size); 80static inline void set_real_mode_mem(phys_addr_t mem)
81{
82 real_mode_header = (struct real_mode_header *) __va(mem);
83}
84
81void reserve_real_mode(void); 85void reserve_real_mode(void);
82 86
83#endif /* __ASSEMBLY__ */ 87#endif /* __ASSEMBLY__ */
diff --git a/arch/x86/platform/efi/quirks.c b/arch/x86/platform/efi/quirks.c
index 458a0e2bcc57..a25a9fd987a9 100644
--- a/arch/x86/platform/efi/quirks.c
+++ b/arch/x86/platform/efi/quirks.c
@@ -449,7 +449,7 @@ void __init efi_free_boot_services(void)
449 */ 449 */
450 rm_size = real_mode_size_needed(); 450 rm_size = real_mode_size_needed();
451 if (rm_size && (start + rm_size) < (1<<20) && size >= rm_size) { 451 if (rm_size && (start + rm_size) < (1<<20) && size >= rm_size) {
452 set_real_mode_mem(start, rm_size); 452 set_real_mode_mem(start);
453 start += rm_size; 453 start += rm_size;
454 size -= rm_size; 454 size -= rm_size;
455 } 455 }
diff --git a/arch/x86/realmode/init.c b/arch/x86/realmode/init.c
index 47d097946872..7dce39c8c034 100644
--- a/arch/x86/realmode/init.c
+++ b/arch/x86/realmode/init.c
@@ -15,13 +15,6 @@ u32 *trampoline_cr4_features;
15/* Hold the pgd entry used on booting additional CPUs */ 15/* Hold the pgd entry used on booting additional CPUs */
16pgd_t trampoline_pgd_entry; 16pgd_t trampoline_pgd_entry;
17 17
18void __init set_real_mode_mem(phys_addr_t mem, size_t size)
19{
20 void *base = __va(mem);
21
22 real_mode_header = (struct real_mode_header *) base;
23}
24
25void __init reserve_real_mode(void) 18void __init reserve_real_mode(void)
26{ 19{
27 phys_addr_t mem; 20 phys_addr_t mem;
@@ -40,7 +33,7 @@ void __init reserve_real_mode(void)
40 } 33 }
41 34
42 memblock_reserve(mem, size); 35 memblock_reserve(mem, size);
43 set_real_mode_mem(mem, size); 36 set_real_mode_mem(mem);
44} 37}
45 38
46static void __init setup_real_mode(void) 39static void __init setup_real_mode(void)