From fc697ad028be74df40fde7eb3f18fc12d75a3d1d Mon Sep 17 00:00:00 2001 From: Jordan Crouse Date: Tue, 27 May 2008 20:06:54 +0000 Subject: 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 Acked-by: Peter Stuge git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3354 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- payloads/libpayload/include/libpayload.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'payloads/libpayload/include') 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 -- cgit v1.2.3