x86: EFI runtime service support
This patch adds basic runtime services support for EFI x86_64 system. The main file of the patch is the addition of efi_64.c for x86_64. This file is modeled after the EFI IA32 avatar. EFI runtime services initialization are implemented in efi_64.c. Some x86_64 specifics are worth noting here. On x86_64, parameters passed to EFI firmware services need to follow the EFI calling convention. For this purpose, a set of functions named efi_call<x> (<x> is the number of parameters) are implemented. EFI function calls are wrapped before calling the firmware service. The duplicated code between efi_32.c and efi_64.c is placed in efi.c to remove them from efi_32.c. Signed-off-by:Chandramouli Narayanan <mouli@linux.intel.com> Signed-off-by:
Huang Ying <ying.huang@intel.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Ingo Molnar <mingo@elte.hu> Signed-off-by:
Thomas Gleixner <tglx@linutronix.de>
Showing
- arch/x86/Kconfig 1 addition, 1 deletionarch/x86/Kconfig
- arch/x86/kernel/Makefile_64 1 addition, 0 deletionsarch/x86/kernel/Makefile_64
- arch/x86/kernel/efi.c 480 additions, 0 deletionsarch/x86/kernel/efi.c
- arch/x86/kernel/efi_64.c 164 additions, 0 deletionsarch/x86/kernel/efi_64.c
- arch/x86/kernel/efi_stub_64.S 109 additions, 0 deletionsarch/x86/kernel/efi_stub_64.S
- arch/x86/kernel/setup_64.c 16 additions, 1 deletionarch/x86/kernel/setup_64.c
- include/asm-x86/bootparam.h 3 additions, 2 deletionsinclude/asm-x86/bootparam.h
- include/asm-x86/efi.h 70 additions, 0 deletionsinclude/asm-x86/efi.h
- include/asm-x86/fixmap_64.h 3 additions, 0 deletionsinclude/asm-x86/fixmap_64.h
Loading
Please register or sign in to comment