Author: jcrouse Date: 2008-05-27 22:06:54 +0200 (Tue, 27 May 2008) New Revision: 3354
Modified: trunk/payloads/libpayload/include/libpayload.h trunk/payloads/libpayload/lib/libpayload.ldscript Log: libpayload: Add PAYLOAD_INFO macro
Adds the PAYLOAD_INFO macro to store payload information in a data section in the ELF which can be consumed by other entities.
Signed-off-by: Jordan Crouse jordan.crouse@amd.com Acked-by: Peter Stuge peter@stuge.se
Modified: trunk/payloads/libpayload/include/libpayload.h =================================================================== --- trunk/payloads/libpayload/include/libpayload.h 2008-05-27 20:06:30 UTC (rev 3353) +++ trunk/payloads/libpayload/include/libpayload.h 2008-05-27 20:06:54 UTC (rev 3354) @@ -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
Modified: trunk/payloads/libpayload/lib/libpayload.ldscript =================================================================== --- trunk/payloads/libpayload/lib/libpayload.ldscript 2008-05-27 20:06:30 UTC (rev 3353) +++ trunk/payloads/libpayload/lib/libpayload.ldscript 2008-05-27 20:06:54 UTC (rev 3354) @@ -81,5 +81,5 @@
_end = .;
- /DISCARD/ : { *(.comment) *(.note) *(.note.*) } + /DISCARD/ : { *(.comment) } }