[LinuxBIOS] cmos.layout field meanings.

Steve Isaacs yasteve at gmail.com
Wed Dec 19 00:37:25 CET 2007

For my design review I'm trying to document the meaning of the various
fields in CMOS RAM. I've done some grepping and found limited use of the
generated CMOS_VSTART_ and CMOS_VLEN_ definitions which are generated
from the board's cmos.layout.

Also, I've found a number of inconsistencies regarding checksum
calculation. For example CMOS_VSTART_check_sum is defined in cmos.layout
as 984 for some (most?) boards but the file pc80/mc146818rtc.h defines
the checksum range as bytes 16 (PC_CKS_RANGE_START) thru 45
(PC_CKS_RANGE_END) which is then used by the rtc_init to verify CMOS RAM
contents. Why wouldn't cmos.layout be used for both?

I'm sensing some bit position dependent coupling between execution in
CAR and execution from RAM using different definitions which may cause
problems if cmos.layout is changed for a board. It appears there may be
some additional coupling for bootloaders as well? (e.g. boot_first,
boot_second, etc.)

Is there a document I can read to help me understand this? Am I looking
at this wrong?



More information about the coreboot mailing list