summaryrefslogtreecommitdiff
path: root/payloads/libpayload
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload')
-rw-r--r--payloads/libpayload/include/libpayload.h12
-rw-r--r--payloads/libpayload/lib/libpayload.ldscript2
2 files changed, 13 insertions, 1 deletions
diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h
index c05aafb37c..dc2f5eec1b 100644
--- a/payloads/libpayload/include/libpayload.h
+++ b/payloads/libpayload/include/libpayload.h
@@ -55,6 +55,18 @@
#define RAND_MAX 0x7fffffff
+/* Payload information parameters - these are used to pass information
+ * to the entity loading the payload
+ * Usage: PAYLOAD_INFO(key, value)
+ * Example: PAYLOAD_INFO(name, "CoreInfo!")
+ */
+
+#define _pstruct(key) __pinfo_ ##key
+#define PAYLOAD_INFO(key, value) \
+static const char _pstruct(key)[] \
+ __attribute__((__used__)) \
+ __attribute__((section(".note.pinfo"),unused)) = #key "=" value
+
/* Some NVRAM byte definitions */
#define NVRAM_RTC_SECONDS 0
#define NVRAM_RTC_MINUTES 2
diff --git a/payloads/libpayload/lib/libpayload.ldscript b/payloads/libpayload/lib/libpayload.ldscript
index 7ae49e5808..400c1377a5 100644
--- a/payloads/libpayload/lib/libpayload.ldscript
+++ b/payloads/libpayload/lib/libpayload.ldscript
@@ -81,5 +81,5 @@ SECTIONS
_end = .;
- /DISCARD/ : { *(.comment) *(.note) *(.note.*) }
+ /DISCARD/ : { *(.comment) }
}