mirror of
https://xff.cz/git/u-boot/
synced 2025-10-17 07:52:46 +02:00
efi_loader: add RuntimeServicesSupported variable
This variable is defined in UEFI specification 2.8, section 8.1. Its value should be updated whenever we add any usable runtime services function. Currently we only support SetVirtualAddress() for all systems and ResetSystem() for some. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
committed by
Heinrich Schuchardt
parent
c77d8e9d89
commit
e771b4b39e
@@ -89,6 +89,30 @@ struct elf_rela {
|
||||
* handle a good number of runtime callbacks
|
||||
*/
|
||||
|
||||
efi_status_t efi_init_runtime_supported(void)
|
||||
{
|
||||
u16 efi_runtime_services_supported = 0;
|
||||
|
||||
/*
|
||||
* This value must be synced with efi_runtime_detach_list
|
||||
* as well as efi_runtime_services.
|
||||
*/
|
||||
#if CONFIG_IS_ENABLED(ARCH_BCM283X) || \
|
||||
CONFIG_IS_ENABLED(FSL_LAYERSCAPE) || \
|
||||
CONFIG_IS_ENABLED(SYSRESET_X86) || \
|
||||
CONFIG_IS_ENABLED(PSCI_RESET)
|
||||
efi_runtime_services_supported |= EFI_RT_SUPPORTED_RESET_SYSTEM;
|
||||
#endif
|
||||
efi_runtime_services_supported |=
|
||||
EFI_RT_SUPPORTED_SET_VIRTUAL_ADDRESS_MAP;
|
||||
return EFI_CALL(efi_set_variable(L"RuntimeServicesSupported",
|
||||
&efi_global_variable_guid,
|
||||
EFI_VARIABLE_BOOTSERVICE_ACCESS |
|
||||
EFI_VARIABLE_RUNTIME_ACCESS,
|
||||
sizeof(efi_runtime_services_supported),
|
||||
&efi_runtime_services_supported));
|
||||
}
|
||||
|
||||
/**
|
||||
* efi_update_table_header_crc32() - Update crc32 in table header
|
||||
*
|
||||
|
Reference in New Issue
Block a user