[coreboot] seemingly wrong code in src/arch/i386/boot/coreboot_table.c
ron minnich
rminnich at gmail.com
Sat May 9 05:06:36 CEST 2009
I don't understand this code.
Here it is.
#if (HAVE_OPTION_TABLE == 1)
{
struct lb_record *rec_dest, *rec_src;
/* Write the option config table... */
rec_dest = lb_new_record(head);
rec_src = (struct lb_record *)(void *)&option_table;
memcpy(rec_dest, rec_src, rec_src->size);
/* Create cmos checksum entry in coreboot table */
lb_cmos_checksum(head);
}
#endif
Note the cast of rec_src.
But option_table is this:
unsigned char option_table[] = {
0xc8,0x00,0x00,0x00,0x88,0x04,0x00,0x00,0x0c,0x00,
Why is this cast being done? This code is different in older versions
of this file.
Thanks
ron
More information about the coreboot
mailing list