Am 17.05.2009 15:14, schrieb Peter Stuge:
bifferos wrote:
Somebody's getting their memory ranges muddled up.
Patrick, in r95 you're using a type member in struct memrange (itself a member of libpayload sysinfo_t) but the type member only exists in the coreboot table, not in libpayload's sysinfo_t.memrange.
What is the good fix? Add the type member to libpayload sysinfo_t.memrange, work with coreboot tables directly or ignore everything but than CB_MEM_RAM when copying entires from coreboot table into sysinfo_t.memrange, making the changes in r95 no longer neccessary?
I extracted the type field support from our repo. See attached patch.
The MEMMAP_RAM_ONLY define is a way to allow a payload to opt for only having CB_MEM_RAM type fields, which might be helpful to support older payloads easily (just add the define, and it won't encounter "weird" fields)
Signed-off-by: Patrick Georgi patrick.georgi@coresystems.de
Sorry for the mess, Patrick