mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-20 20:04:46 +00:00
efi: Define set_dfu_alt_info() for boards with UEFI capsule update enabled
Currently, there are a bunch of boards which enable the UEFI capsule update feature. The actual update of the firmware images is done through the dfu framework which uses the dfu_alt_info environment variable for getting information on the update, like device, partition number/address etc. The dfu framework allows the variable to be set through the set_dfu_alt_info function defined by the platform, or if the function is not defined, it gets the variable from the environment. Using the value set in the environment is not very robust, since the variable can be modified from the u-boot command line and this can cause an incorrect update. To prevent this from happening, define the set_dfu_alt_info function when the capsule update feature is enabled. A weak function is defined which sets the dfu_alt_info environment variable by getting the string for the variable from the platform. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
This commit is contained in:
parent
7cf06f09cc
commit
a9e6f01a94
2 changed files with 7 additions and 0 deletions
|
@ -181,6 +181,7 @@ config EFI_CAPSULE_FIRMWARE_FIT
|
||||||
depends on EFI_CAPSULE_FIRMWARE_MANAGEMENT
|
depends on EFI_CAPSULE_FIRMWARE_MANAGEMENT
|
||||||
select UPDATE_FIT
|
select UPDATE_FIT
|
||||||
select DFU
|
select DFU
|
||||||
|
select SET_DFU_ALT_INFO
|
||||||
select EFI_CAPSULE_FIRMWARE
|
select EFI_CAPSULE_FIRMWARE
|
||||||
help
|
help
|
||||||
Select this option if you want to enable firmware management protocol
|
Select this option if you want to enable firmware management protocol
|
||||||
|
@ -192,6 +193,7 @@ config EFI_CAPSULE_FIRMWARE_RAW
|
||||||
depends on SANDBOX || (!SANDBOX && !EFI_CAPSULE_FIRMWARE_FIT)
|
depends on SANDBOX || (!SANDBOX && !EFI_CAPSULE_FIRMWARE_FIT)
|
||||||
select DFU_WRITE_ALT
|
select DFU_WRITE_ALT
|
||||||
select DFU
|
select DFU
|
||||||
|
select SET_DFU_ALT_INFO
|
||||||
select EFI_CAPSULE_FIRMWARE
|
select EFI_CAPSULE_FIRMWARE
|
||||||
help
|
help
|
||||||
Select this option if you want to enable firmware management protocol
|
Select this option if you want to enable firmware management protocol
|
||||||
|
|
|
@ -35,6 +35,11 @@ struct fmp_payload_header {
|
||||||
u32 lowest_supported_version;
|
u32 lowest_supported_version;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
__weak void set_dfu_alt_info(char *interface, char *devstr)
|
||||||
|
{
|
||||||
|
env_set("dfu_alt_info", update_info.dfu_string);
|
||||||
|
}
|
||||||
|
|
||||||
/* Place holder; not supported */
|
/* Place holder; not supported */
|
||||||
static
|
static
|
||||||
efi_status_t EFIAPI efi_firmware_get_image_unsupported(
|
efi_status_t EFIAPI efi_firmware_get_image_unsupported(
|
||||||
|
|
Loading…
Add table
Reference in a new issue