From 15f537ccf96f891ee46c0d2d2b5d2021b0de2559 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Beh=C3=BAn?= Date: Thu, 20 May 2021 13:23:58 +0200 Subject: [PATCH] efi_loader: add macro for const EFI runtime data MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Add macro __efi_runtime_rodata, for const variables with similar purpose as those using __efi_runtime_data. Signed-off-by: Marek Behún Reviewed-by: Heinrich Schuchardt --- include/efi_loader.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/include/efi_loader.h b/include/efi_loader.h index cfd68e329c..522696d635 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -694,6 +694,22 @@ ssize_t efi_dp_check_length(const struct efi_device_path *dp, */ #define __efi_runtime_data __section(".data.efi_runtime") +/** + * __efi_runtime_rodata - declares a read-only variable for EFI runtime section + * + * This macro indicates that a variable is read-only (const) and should go into + * the EFI runtime section, and thus still be available when the OS is running. + * + * Only use on variables also declared const. + * + * Example: + * + * :: + * + * static const __efi_runtime_rodata my_const_table[] = { 1, 2, 3 }; + */ +#define __efi_runtime_rodata __section(".rodata.efi_runtime") + /** * __efi_runtime - declares a function for EFI runtime section * @@ -911,6 +927,7 @@ efi_status_t efi_launch_capsules(void); /* Without CONFIG_EFI_LOADER we don't have a runtime section, stub it out */ #define __efi_runtime_data +#define __efi_runtime_rodata #define __efi_runtime static inline efi_status_t efi_add_runtime_mmio(void *mmio_ptr, u64 len) { -- 2.39.5