add cmos checksum range to linuxbios table

git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2125 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Stefan Reinauer
2005-12-03 22:39:23 +00:00
parent 0cf46ca215
commit 4bd0de0b2e

View File

@@ -98,6 +98,24 @@ struct lb_mainboard *lb_mainboard(struct lb_header *header)
return mainboard; return mainboard;
} }
struct cmos_checksum *lb_cmos_checksum(struct lb_header *header)
{
struct lb_record *rec;
struct cmos_checksum *cmos_checksum;
rec = lb_new_record(header);
cmos_checksum = (struct cmos_checksum *)rec;
cmos_checksum->tag = LB_TAG_OPTION_CHECKSUM;
cmos_checksum->size = (sizeof(*cmos_checksum));
cmos_checksum->range_start = LB_CKS_RANGE_START * 8;
cmos_checksum->range_end = ( LB_CKS_RANGE_END * 8 ) + 7;
cmos_checksum->location = LB_CKS_LOC * 8;
cmos_checksum->type = CHECKSUM_PCBIOS;
return cmos_checksum;
}
void lb_strings(struct lb_header *header) void lb_strings(struct lb_header *header)
{ {
static const struct { static const struct {
@@ -346,6 +364,8 @@ unsigned long write_linuxbios_table(
rec_dest = lb_new_record(head); rec_dest = lb_new_record(head);
rec_src = (struct lb_record *)(void *)&option_table; rec_src = (struct lb_record *)(void *)&option_table;
memcpy(rec_dest, rec_src, rec_src->size); memcpy(rec_dest, rec_src, rec_src->size);
/* Create cmos checksum entry in linuxbios table */
lb_cmos_checksum(head);
} }
/* Record where RAM is located */ /* Record where RAM is located */
mem = build_lb_mem(head); mem = build_lb_mem(head);