Merge tag 'efi-2019-07-rc1-3' of git://git.denx.de/u-boot-efi
Pull request for UEFI sub-system for v2019.07-rc1 (3) This patch series reworks the implementation of the `bootefi` command to remove code duplication by using the LoadImage() boot service to load binaries. Missing short texts for UEFI protocols are added for display by the `efidebug dh` command. Missing parameter checks for AllocatePages() and CreateDeviceNode() are implemented. The constants for protocol GUIDs are changed to match the names in the UEFI specification.
This commit is contained in:
@@ -168,6 +168,10 @@ enum efi_mem_type {
|
||||
* part of the processor.
|
||||
*/
|
||||
EFI_PAL_CODE,
|
||||
/*
|
||||
* Non-volatile memory.
|
||||
*/
|
||||
EFI_PERSISTENT_MEMORY_TYPE,
|
||||
|
||||
EFI_MAX_MEMORY_TYPE,
|
||||
EFI_TABLE_END, /* For efi_build_mem_table() */
|
||||
|
||||
@@ -290,10 +290,6 @@ struct efi_runtime_services {
|
||||
EFI_GUID(0x8be4df61, 0x93ca, 0x11d2, 0xaa, 0x0d, \
|
||||
0x00, 0xe0, 0x98, 0x03, 0x2b, 0x8c)
|
||||
|
||||
#define LOADED_IMAGE_PROTOCOL_GUID \
|
||||
EFI_GUID(0x5b1b31a1, 0x9562, 0x11d2, 0x8e, 0x3f, \
|
||||
0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b)
|
||||
|
||||
#define EFI_FDT_GUID \
|
||||
EFI_GUID(0xb1b621d5, 0xf19c, 0x41a5, \
|
||||
0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0)
|
||||
@@ -329,11 +325,11 @@ struct efi_system_table {
|
||||
struct efi_configuration_table *tables;
|
||||
};
|
||||
|
||||
#define LOADED_IMAGE_GUID \
|
||||
#define EFI_LOADED_IMAGE_PROTOCOL_GUID \
|
||||
EFI_GUID(0x5b1b31a1, 0x9562, 0x11d2, \
|
||||
0x8e, 0x3f, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b)
|
||||
|
||||
#define LOADED_IMAGE_DEVICE_PATH_GUID \
|
||||
#define EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID \
|
||||
EFI_GUID(0xbc62157e, 0x3e33, 0x4fec, \
|
||||
0x99, 0x20, 0x2d, 0x3b, 0x36, 0xd7, 0x50, 0xdf)
|
||||
|
||||
@@ -355,7 +351,7 @@ struct efi_loaded_image {
|
||||
unsigned long unload;
|
||||
};
|
||||
|
||||
#define DEVICE_PATH_GUID \
|
||||
#define EFI_DEVICE_PATH_PROTOCOL_GUID \
|
||||
EFI_GUID(0x09576e91, 0x6d3f, 0x11d2, \
|
||||
0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b)
|
||||
|
||||
@@ -478,7 +474,7 @@ struct efi_device_path_file_path {
|
||||
u16 str[];
|
||||
} __packed;
|
||||
|
||||
#define BLOCK_IO_GUID \
|
||||
#define EFI_BLOCK_IO_PROTOCOL_GUID \
|
||||
EFI_GUID(0x964e5b21, 0x6459, 0x11d2, \
|
||||
0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b)
|
||||
|
||||
@@ -1123,7 +1119,7 @@ struct efi_hii_config_access_protocol {
|
||||
efi_browser_action_request_t *action_request);
|
||||
};
|
||||
|
||||
#define EFI_GOP_GUID \
|
||||
#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \
|
||||
EFI_GUID(0x9042a9de, 0x23dc, 0x4a38, \
|
||||
0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a)
|
||||
|
||||
@@ -1175,7 +1171,7 @@ struct efi_gop {
|
||||
struct efi_gop_mode *mode;
|
||||
};
|
||||
|
||||
#define EFI_SIMPLE_NETWORK_GUID \
|
||||
#define EFI_SIMPLE_NETWORK_PROTOCOL_GUID \
|
||||
EFI_GUID(0xa19832b9, 0xac25, 0x11d3, \
|
||||
0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d)
|
||||
|
||||
@@ -1268,7 +1264,7 @@ struct efi_simple_network {
|
||||
struct efi_simple_network_mode *mode;
|
||||
};
|
||||
|
||||
#define EFI_PXE_GUID \
|
||||
#define EFI_PXE_BASE_CODE_PROTOCOL_GUID \
|
||||
EFI_GUID(0x03c4e603, 0xac28, 0x11d3, \
|
||||
0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d)
|
||||
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
EFI_GUID(0xe61d73b9, 0xa384, 0x4acc, \
|
||||
0xae, 0xab, 0x82, 0xe8, 0x28, 0xf3, 0x62, 0x8b)
|
||||
|
||||
/* Root node */
|
||||
extern efi_handle_t efi_root;
|
||||
|
||||
int __efi_entry_check(void);
|
||||
int __efi_exit_check(void);
|
||||
const char *__efi_nesting(void);
|
||||
@@ -409,8 +412,6 @@ efi_status_t efi_setup_loaded_image(struct efi_device_path *device_path,
|
||||
struct efi_device_path *file_path,
|
||||
struct efi_loaded_image_obj **handle_ptr,
|
||||
struct efi_loaded_image **info_ptr);
|
||||
efi_status_t efi_load_image_from_path(struct efi_device_path *file_path,
|
||||
void **buffer, efi_uintn_t *size);
|
||||
/* Print information about all loaded images */
|
||||
void efi_print_image_infos(void *pc);
|
||||
|
||||
@@ -564,8 +565,7 @@ struct efi_load_option {
|
||||
|
||||
void efi_deserialize_load_option(struct efi_load_option *lo, u8 *data);
|
||||
unsigned long efi_serialize_load_option(struct efi_load_option *lo, u8 **data);
|
||||
void *efi_bootmgr_load(struct efi_device_path **device_path,
|
||||
struct efi_device_path **file_path);
|
||||
efi_status_t efi_bootmgr_load(efi_handle_t *handle);
|
||||
|
||||
#else /* CONFIG_IS_ENABLED(EFI_LOADER) */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user