-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
efi: efistub: Refactor stub components
In order to move from the #include "../../../xxxxx.c" anti-pattern used by both the x86 and arm64 versions of the stub to a static library linked into either the kernel proper (arm64) or a separate boot executable (x86), there is some prepatory work required. This patch does the following: - move forward declarations of functions shared between the arch specific and the generic parts of the stub to include/linux/efi.h - move forward declarations of functions shared between various .c files of the generic stub code to a new local header file called "efistub.h" - add #includes to all .c files which were formerly relying on the #includor to include the correct header files - remove all static modifiers from functions which will need to be externally visible once we move to a static library Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
- Loading branch information
Ard Biesheuvel
authored and
Matt Fleming
committed
Jul 7, 2014
1 parent
a13b007
commit bd66947
Showing
7 changed files
with
164 additions
and
88 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
|
||
#ifndef _DRIVERS_FIRMWARE_EFI_EFISTUB_H | ||
#define _DRIVERS_FIRMWARE_EFI_EFISTUB_H | ||
|
||
/* error code which can't be mistaken for valid address */ | ||
#define EFI_ERROR (~0UL) | ||
|
||
void efi_char16_printk(efi_system_table_t *, efi_char16_t *); | ||
|
||
efi_status_t efi_open_volume(efi_system_table_t *sys_table_arg, void *__image, | ||
void **__fh); | ||
|
||
efi_status_t efi_file_size(efi_system_table_t *sys_table_arg, void *__fh, | ||
efi_char16_t *filename_16, void **handle, | ||
u64 *file_sz); | ||
|
||
efi_status_t efi_file_read(void *handle, unsigned long *size, void *addr); | ||
|
||
efi_status_t efi_file_close(void *handle); | ||
|
||
unsigned long get_dram_base(efi_system_table_t *sys_table_arg); | ||
|
||
efi_status_t update_fdt(efi_system_table_t *sys_table, void *orig_fdt, | ||
unsigned long orig_fdt_size, | ||
void *fdt, int new_fdt_size, char *cmdline_ptr, | ||
u64 initrd_addr, u64 initrd_size, | ||
efi_memory_desc_t *memory_map, | ||
unsigned long map_size, unsigned long desc_size, | ||
u32 desc_ver); | ||
|
||
efi_status_t allocate_new_fdt_and_exit_boot(efi_system_table_t *sys_table, | ||
void *handle, | ||
unsigned long *new_fdt_addr, | ||
unsigned long max_addr, | ||
u64 initrd_addr, u64 initrd_size, | ||
char *cmdline_ptr, | ||
unsigned long fdt_addr, | ||
unsigned long fdt_size); | ||
|
||
void *get_fdt(efi_system_table_t *sys_table); | ||
|
||
#endif |
Oops, something went wrong.