]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
efi_loader: add macro for const EFI runtime data
authorMarek Behún <marek.behun@nic.cz>
Thu, 20 May 2021 11:23:58 +0000 (13:23 +0200)
committerTom Rini <trini@konsulko.com>
Mon, 24 May 2021 18:21:30 +0000 (14:21 -0400)
Add macro __efi_runtime_rodata, for const variables with similar purpose
as those using __efi_runtime_data.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
include/efi_loader.h

index cfd68e329c191e02fb181ed97abd255e7009871a..522696d63510037f875623fdb307693f70a52d5e 100644 (file)
@@ -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)
 {