diff --git a/payloads/coreinfo/coreboot_module.c b/payloads/coreinfo/coreboot_module.c index dd589acee2..5d13128e32 100644 --- a/payloads/coreinfo/coreboot_module.c +++ b/payloads/coreinfo/coreboot_module.c @@ -112,9 +112,9 @@ int coreboot_module_redraw(WINDOW *win) } wprintw(win, "%16.16llx - %16.16llx", - UNPACK_CB64(cb_info.range[i].start), - UNPACK_CB64(cb_info.range[i].start) + - UNPACK_CB64(cb_info.range[i].size) - 1); + cb_unpack64(cb_info.range[i].start), + cb_unpack64(cb_info.range[i].start) + + cb_unpack64(cb_info.range[i].size) - 1); } return 0; diff --git a/payloads/libpayload/arch/i386/coreboot.c b/payloads/libpayload/arch/i386/coreboot.c index 365445ed65..a77144b2c4 100644 --- a/payloads/libpayload/arch/i386/coreboot.c +++ b/payloads/libpayload/arch/i386/coreboot.c @@ -63,10 +63,10 @@ static void cb_parse_memory(unsigned char *ptr, struct sysinfo_t *info) #endif info->memrange[info->n_memranges].base = - UNPACK_CB64(range->start); + cb_unpack64(range->start); info->memrange[info->n_memranges].size = - UNPACK_CB64(range->size); + cb_unpack64(range->size); info->memrange[info->n_memranges].type = range->type; diff --git a/payloads/libpayload/include/coreboot_tables.h b/payloads/libpayload/include/coreboot_tables.h index d342c992c4..3b3b7d2299 100644 --- a/payloads/libpayload/include/coreboot_tables.h +++ b/payloads/libpayload/include/coreboot_tables.h @@ -216,6 +216,13 @@ struct cb_cmos_checksum { u32 type; }; +/* Helpful inlines */ + +static inline u64 cb_unpack64(struct cbuint64 val) +{ + return (((u64) val.hi) << 32) | val.lo; +} + /* Helpful macros */ #define MEM_RANGE_COUNT(_rec) \ @@ -231,7 +238,4 @@ struct cb_cmos_checksum { #define MB_PART_STRING(_mb) \ (((unsigned char *) ((_mb)->strings)) + (_mb)->part_number_idx) -#define UNPACK_CB64(_in) \ - ( (((u64) _in.hi) << 32) | _in.lo ) - #endif