summaryrefslogtreecommitdiff
path: root/payloads/libpayload/include
diff options
context:
space:
mode:
authorPhilip Prindeville <philipp@redfish-solutions.com>2011-12-24 22:12:37 -0700
committerPatrick Georgi <patrick@georgi-clan.de>2012-01-07 11:49:57 +0100
commit9a7c246767cc541728108aa5c558cd08cbb5471d (patch)
treeacc787d3589721f619d48175043b9f04f1192b23 /payloads/libpayload/include
parentd0ac789e212c1bef6582e2ae33118280f287318e (diff)
downloadcoreboot-9a7c246767cc541728108aa5c558cd08cbb5471d.tar.xz
Cleanup access to vendor/part # info
Instead of macros to access MAINBOARD record, use convenience functions. Store pointers to MAINBOARD and HEADER for use outside of CB code. Change-Id: I074e3a0df7d25726cbd942538bfdc5a63dd17e12 Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Reviewed-on: http://review.coreboot.org/502 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Diffstat (limited to 'payloads/libpayload/include')
-rw-r--r--payloads/libpayload/include/coreboot_tables.h16
-rw-r--r--payloads/libpayload/include/sysinfo.h3
2 files changed, 13 insertions, 6 deletions
diff --git a/payloads/libpayload/include/coreboot_tables.h b/payloads/libpayload/include/coreboot_tables.h
index e362d06480..c68ccc9c2f 100644
--- a/payloads/libpayload/include/coreboot_tables.h
+++ b/payloads/libpayload/include/coreboot_tables.h
@@ -228,6 +228,16 @@ static inline u16 cb_checksum(const void *ptr, unsigned len)
return ipchksum(ptr, len);
}
+static inline const char *cb_mb_vendor_string(const struct cb_mainboard *cbm)
+{
+ return (char *)(cbm->strings + cbm->vendor_idx);
+}
+
+static inline const char *cb_mb_part_string(const struct cb_mainboard *cbm)
+{
+ return (char *)(cbm->strings + cbm->part_number_idx);
+}
+
/* Helpful macros */
#define MEM_RANGE_COUNT(_rec) \
@@ -237,10 +247,4 @@ static inline u16 cb_checksum(const void *ptr, unsigned len)
(void *)(((u8 *) (_rec)) + sizeof(*(_rec)) \
+ (sizeof((_rec)->map[0]) * (_idx)))
-#define MB_VENDOR_STRING(_mb) \
- (((unsigned char *) ((_mb)->strings)) + (_mb)->vendor_idx)
-
-#define MB_PART_STRING(_mb) \
- (((unsigned char *) ((_mb)->strings)) + (_mb)->part_number_idx)
-
#endif
diff --git a/payloads/libpayload/include/sysinfo.h b/payloads/libpayload/include/sysinfo.h
index c1d2002279..778dfe9414 100644
--- a/payloads/libpayload/include/sysinfo.h
+++ b/payloads/libpayload/include/sysinfo.h
@@ -56,6 +56,9 @@ struct sysinfo_t {
struct cb_framebuffer *framebuffer;
unsigned long *mbtable; /** Pointer to the multiboot table */
+
+ struct cb_header *header;
+ struct cb_mainboard *mainboard;
};
extern struct sysinfo_t lib_sysinfo;