Vladimir Serbinenko (phcoder@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4790
-gerrit
commit 3905d0910c0841429642fd512765cc6d40cda954 Author: Vladimir Serbinenko phcoder@gmail.com Date: Mon Jan 27 01:27:13 2014 +0100
cmos_options: Add and check version field.
This solves the issue with adding or moving options.
The version field is a 16-bit checksum (of universal hashing family) of options and their positions but not of defaults. This way no need to maintain it manually
Change-Id: Id3bb904fac44279dd420c2bf617199f890bb3e0e Signed-off-by: Vladimir Serbinenko phcoder@gmail.com --- payloads/nvramcui/nvramcui.c | 4 +- src/drivers/pc80/mc146818rtc.c | 92 +++++++++++++--------- src/drivers/pc80/mc146818rtc_early.c | 9 +++ src/mainboard/advansus/a785e-i/cmos.layout | 1 + src/mainboard/amd/bimini_fam10/cmos.layout | 1 + src/mainboard/amd/db800/cmos.layout | 1 + src/mainboard/amd/dbm690t/cmos.layout | 1 + src/mainboard/amd/dinar/cmos.layout | 1 + src/mainboard/amd/inagua/cmos.layout | 1 + src/mainboard/amd/mahogany/cmos.layout | 1 + src/mainboard/amd/mahogany_fam10/cmos.layout | 1 + src/mainboard/amd/norwich/cmos.layout | 1 + src/mainboard/amd/olivehill/cmos.layout | 1 + src/mainboard/amd/parmer/cmos.layout | 1 + src/mainboard/amd/persimmon/cmos.layout | 1 + src/mainboard/amd/pistachio/cmos.layout | 1 + src/mainboard/amd/rumba/cmos.layout | 1 + src/mainboard/amd/serengeti_cheetah/cmos.layout | 1 + .../amd/serengeti_cheetah_fam10/cmos.layout | 1 + src/mainboard/amd/south_station/cmos.layout | 1 + src/mainboard/amd/thatcher/cmos.layout | 1 + src/mainboard/amd/tilapia_fam10/cmos.layout | 1 + src/mainboard/amd/torpedo/cmos.layout | 1 + src/mainboard/amd/union_station/cmos.layout | 1 + src/mainboard/arima/hdama/cmos.layout | 1 + src/mainboard/artecgroup/dbe61/cmos.layout | 1 + src/mainboard/asrock/939a785gmh/cmos.layout | 1 + src/mainboard/asrock/e350m1/cmos.layout | 1 + src/mainboard/asrock/imb-a180/cmos.layout | 1 + src/mainboard/asus/a8n_e/cmos.layout | 1 + src/mainboard/asus/a8v-e_deluxe/cmos.layout | 1 + src/mainboard/asus/a8v-e_se/cmos.layout | 1 + src/mainboard/asus/dsbf/cmos.layout | 3 +- src/mainboard/asus/f2a85-m/cmos.layout | 1 + src/mainboard/asus/k8v-x/cmos.layout | 1 + src/mainboard/asus/m2n-e/cmos.layout | 1 + src/mainboard/asus/m2v-mx_se/cmos.layout | 1 + src/mainboard/asus/m2v/cmos.layout | 1 + src/mainboard/asus/m4a78-em/cmos.layout | 1 + src/mainboard/asus/m4a785-m/cmos.layout | 1 + src/mainboard/asus/m4a785t-m/cmos.layout | 1 + src/mainboard/asus/m5a88-v/cmos.layout | 1 + src/mainboard/asus/mew-vm/cmos.layout | 1 + src/mainboard/avalue/eax-785e/cmos.layout | 1 + src/mainboard/bachmann/ot200/cmos.layout | 2 + src/mainboard/bcom/winnetp680/cmos.layout | 1 + src/mainboard/broadcom/blast/cmos.layout | 1 + src/mainboard/digitallogic/adl855pc/cmos.layout | 1 + src/mainboard/digitallogic/msm586seg/cmos.layout | 1 + src/mainboard/digitallogic/msm800sev/cmos.layout | 1 + src/mainboard/eaglelion/5bcm/cmos.layout | 1 + src/mainboard/emulation/qemu-i440fx/cmos.layout | 1 + src/mainboard/getac/p470/cmos.layout | 2 + src/mainboard/gigabyte/ga_2761gxdk/cmos.layout | 1 + src/mainboard/gigabyte/m57sli/cmos.layout | 1 + src/mainboard/gigabyte/ma785gm/cmos.layout | 1 + src/mainboard/gigabyte/ma785gmt/cmos.layout | 1 + src/mainboard/gigabyte/ma78gm/cmos.layout | 1 + src/mainboard/gizmosphere/gizmo/cmos.layout | 1 + src/mainboard/google/bolt/cmos.layout | 2 + src/mainboard/google/butterfly/cmos.layout | 2 + src/mainboard/google/falco/cmos.layout | 2 + src/mainboard/google/link/cmos.layout | 2 + src/mainboard/google/parrot/cmos.layout | 2 + src/mainboard/google/peppy/cmos.layout | 2 + src/mainboard/google/slippy/cmos.layout | 2 + src/mainboard/google/stout/cmos.layout | 2 + src/mainboard/hp/dl145_g1/cmos.layout | 1 + src/mainboard/hp/dl145_g3/cmos.layout | 1 + src/mainboard/hp/dl165_g6_fam10/cmos.layout | 1 + src/mainboard/ibase/mb899/cmos.layout | 2 + src/mainboard/ibm/e325/cmos.layout | 1 + src/mainboard/ibm/e326/cmos.layout | 1 + src/mainboard/iei/juki-511p/cmos.layout | 1 + src/mainboard/iei/kino-780am2-fam10/cmos.layout | 1 + src/mainboard/iei/nova4899r/cmos.layout | 1 + src/mainboard/intel/baskingridge/cmos.layout | 2 + src/mainboard/intel/cougar_canyon2/cmos.layout | 2 + src/mainboard/intel/d945gclf/cmos.layout | 2 + src/mainboard/intel/eagleheights/cmos.layout | 2 + src/mainboard/intel/emeraldlake2/cmos.layout | 2 + src/mainboard/intel/jarrell/cmos.layout | 1 + src/mainboard/intel/wtm2/cmos.layout | 2 + src/mainboard/iwave/iWRainbowG6/cmos.layout | 2 + src/mainboard/iwill/dk8_htx/cmos.layout | 1 + src/mainboard/iwill/dk8s2/cmos.layout | 1 + src/mainboard/iwill/dk8x/cmos.layout | 1 + src/mainboard/jetway/j7f2/cmos.layout | 1 + src/mainboard/jetway/pa78vm5/cmos.layout | 1 + src/mainboard/kontron/986lcd-m/cmos.layout | 2 + src/mainboard/kontron/kt690/cmos.layout | 1 + src/mainboard/kontron/ktqm77/cmos.layout | 2 + src/mainboard/lanner/em8510/cmos.layout | 1 + src/mainboard/lenovo/t60/cmos.layout | 2 + src/mainboard/lenovo/x201/cmos.layout | 2 + src/mainboard/lenovo/x230/cmos.layout | 2 + src/mainboard/lenovo/x60/cmos.layout | 2 + src/mainboard/lippert/frontrunner-af/cmos.layout | 1 + src/mainboard/lippert/frontrunner/cmos.layout | 1 + src/mainboard/lippert/toucan-af/cmos.layout | 1 + src/mainboard/msi/ms7135/cmos.layout | 1 + src/mainboard/msi/ms7260/cmos.layout | 1 + src/mainboard/msi/ms9185/cmos.layout | 1 + src/mainboard/msi/ms9282/cmos.layout | 1 + src/mainboard/msi/ms9652_fam10/cmos.layout | 1 + src/mainboard/newisys/khepri/cmos.layout | 1 + src/mainboard/nvidia/l1_2pvv/cmos.layout | 1 + src/mainboard/pcengines/alix1c/cmos.layout | 1 + src/mainboard/pcengines/alix2d/cmos.layout | 1 + src/mainboard/roda/rk886ex/cmos.layout | 2 + src/mainboard/roda/rk9/cmos.layout | 2 + src/mainboard/samsung/lumpy/cmos.layout | 2 + src/mainboard/samsung/stumpy/cmos.layout | 2 + src/mainboard/siemens/sitemp_g1p1/cmos.layout | 11 +-- src/mainboard/sunw/ultra40/cmos.layout | 1 + src/mainboard/supermicro/h8dme/cmos.layout | 1 + src/mainboard/supermicro/h8dmr/cmos.layout | 1 + src/mainboard/supermicro/h8dmr_fam10/cmos.layout | 1 + src/mainboard/supermicro/h8qgi/cmos.layout | 1 + src/mainboard/supermicro/h8qme_fam10/cmos.layout | 1 + src/mainboard/supermicro/h8scm/cmos.layout | 1 + src/mainboard/supermicro/h8scm_fam10/cmos.layout | 1 + src/mainboard/supermicro/x6dai_g/cmos.layout | 1 + src/mainboard/supermicro/x6dhe_g/cmos.layout | 1 + src/mainboard/supermicro/x6dhe_g2/cmos.layout | 1 + src/mainboard/supermicro/x6dhr_ig/cmos.layout | 1 + src/mainboard/supermicro/x6dhr_ig2/cmos.layout | 1 + src/mainboard/supermicro/x7db8/cmos.layout | 2 + src/mainboard/technexion/tim5690/cmos.layout | 1 + src/mainboard/technexion/tim8690/cmos.layout | 1 + src/mainboard/technologic/ts5300/cmos.layout | 1 + src/mainboard/traverse/geos/cmos.layout | 1 + src/mainboard/tyan/s2735/cmos.layout | 1 + src/mainboard/tyan/s2850/cmos.layout | 1 + src/mainboard/tyan/s2875/cmos.layout | 1 + src/mainboard/tyan/s2880/cmos.layout | 1 + src/mainboard/tyan/s2881/cmos.layout | 1 + src/mainboard/tyan/s2882/cmos.layout | 1 + src/mainboard/tyan/s2885/cmos.layout | 1 + src/mainboard/tyan/s2891/cmos.layout | 1 + src/mainboard/tyan/s2892/cmos.layout | 1 + src/mainboard/tyan/s2895/cmos.layout | 1 + src/mainboard/tyan/s2912/cmos.layout | 1 + src/mainboard/tyan/s2912_fam10/cmos.layout | 1 + src/mainboard/tyan/s4880/cmos.layout | 1 + src/mainboard/tyan/s4882/cmos.layout | 1 + src/mainboard/tyan/s8226/cmos.layout | 1 + src/mainboard/via/epia-cn/cmos.layout | 1 + src/mainboard/via/epia-m/cmos.layout | 1 + src/mainboard/via/epia-m700/cmos.layout | 1 + src/mainboard/via/epia-n/cmos.layout | 1 + src/mainboard/via/epia/cmos.layout | 1 + src/mainboard/via/pc2500e/cmos.layout | 1 + src/mainboard/via/vt8454c/cmos.layout | 1 + src/mainboard/winent/mb6047/cmos.layout | 1 + src/mainboard/winent/pl6064/cmos.layout | 1 + src/mainboard/wyse/s50/cmos.layout | 1 + util/nvramtool/accessors/layout-bin.c | 4 + util/nvramtool/accessors/layout-text.c | 57 ++++++++++++++ util/nvramtool/cli/nvramtool.c | 18 ++++- util/nvramtool/cmos_ops.c | 4 + util/nvramtool/input_file.c | 9 +++ util/nvramtool/layout.c | 6 +- util/nvramtool/layout.h | 1 + util/nvramtool/lbtable.c | 4 + 165 files changed, 352 insertions(+), 51 deletions(-)
diff --git a/payloads/nvramcui/nvramcui.c b/payloads/nvramcui/nvramcui.c index daf153b..4765921 100644 --- a/payloads/nvramcui/nvramcui.c +++ b/payloads/nvramcui/nvramcui.c @@ -97,7 +97,7 @@ int main() int maxlength=0; struct cb_cmos_entries *option = first_cmos_entry(opttbl); while (option) { - if ((option->config != 'r') && (strcmp("check_sum", option->name) != 0)) { + if ((option->config != 'r') && (option->config != 'v') && (strcmp("check_sum", option->name) != 0)) { maxlength = max(maxlength, strlen(option->name)); numopts++; } @@ -113,7 +113,7 @@ int main() /* walk over options, fetch details */ option = first_cmos_entry(opttbl); for (i=0;i<numopts;i++) { - while ((option->config == 'r') || (strcmp("check_sum", option->name) == 0)) { + while ((option->config == 'r') || (option->config == 'v') || (strcmp("check_sum", option->name) == 0)) { option = next_cmos_entry(option); } fields[2*i] = new_field(1, strlen(option->name), i*2, 1, 0, 0); diff --git a/src/drivers/pc80/mc146818rtc.c b/src/drivers/pc80/mc146818rtc.c index 0f44444..7909977 100644 --- a/src/drivers/pc80/mc146818rtc.c +++ b/src/drivers/pc80/mc146818rtc.c @@ -26,15 +26,10 @@ static void rtc_update_cmos_date(u8 has_century) }
#if CONFIG_USE_OPTION_TABLE -static struct cmos_checksum *get_cmos_checksum_range(void) +static struct cmos_checksum *get_cmos_checksum_range(struct cmos_option_table *ct) { - struct cmos_option_table *ct; struct cmos_checksum *cc;
- ct = cbfs_get_file_content(CBFS_DEFAULT_MEDIA, "cmos_layout.bin", - CBFS_COMPONENT_CMOS_LAYOUT, NULL); - if (!ct) - return 0; cc=(struct cmos_checksum*)((unsigned char *)ct + ct->header_length); for(;cc->tag==LB_TAG_OPTION || cc->tag==LB_TAG_OPTION_ENUM || cc->tag == LB_TAG_OPTION_DEFAULTS; @@ -44,24 +39,52 @@ static struct cmos_checksum *get_cmos_checksum_range(void) return cc; }
-static int overlaps_checksum(u8 byte) +static int overlaps_checksum(struct cmos_option_table *ct, u8 byte) { struct cmos_checksum *cc;
- cc = get_cmos_checksum_range(); + cc = get_cmos_checksum_range(ct); if (!cc) return 0;
return (cc->range_start <= byte) && (byte <= cc->range_end); }
-static int rtc_checksum_valid(void) +static struct cmos_entries *find_cmos_entry(struct cmos_option_table *ct, const char *name) +{ + size_t namelen; + struct cmos_entries *ce; + + /* Figure out how long name is */ + namelen = strnlen(name, CMOS_MAX_NAME_LENGTH); + + /* find the requested entry record */ + ce=(struct cmos_entries*)((unsigned char *)ct + ct->header_length); + for(;ce->tag==LB_TAG_OPTION; + ce=(struct cmos_entries*)((unsigned char *)ce + ce->size)) { + if (memcmp(ce->name, name, namelen) == 0) { + return ce; + } + } + return NULL; +} + +static int rtc_checksum_valid(struct cmos_option_table *ct) { int i; u16 sum, old_sum; struct cmos_checksum *cc; + struct cmos_entries *ce;
- cc = get_cmos_checksum_range(); + ce = find_cmos_entry(ct, "version"); + if(!ce) + return 0; + if (cmos_read (ce->bit / 8) != (ce->config_id & 0xff)) + return 0; + if (cmos_read (ce->bit / 8 + 1) != ((ce->config_id >> 8) & 0xff)) + return 0; + + cc = get_cmos_checksum_range(ct); if (!cc) return 0;
@@ -73,13 +96,13 @@ static int rtc_checksum_valid(void) return sum == old_sum; }
-static void rtc_set_checksum(void) +static void rtc_set_checksum(struct cmos_option_table *ct) { int i; u16 sum; struct cmos_checksum *cc;
- cc = get_cmos_checksum_range(); + cc = get_cmos_checksum_range(ct); if (!cc) return;
@@ -109,6 +132,10 @@ void rtc_init(int invalid) int checksum_invalid = 0; #if CONFIG_USE_OPTION_TABLE unsigned char x; + struct cmos_option_table *ct = 0; + + ct = cbfs_get_file_content(CBFS_DEFAULT_MEDIA, "cmos_layout.bin", + CBFS_COMPONENT_CMOS_LAYOUT, NULL); #endif
#if CONFIG_HAVE_ACPI_RESUME @@ -130,7 +157,7 @@ void rtc_init(int invalid) cmos_invalid = !(x & RTC_VRT);
/* See if there is a CMOS checksum error */ - checksum_invalid = !rtc_checksum_valid(); + checksum_invalid = !ct || !rtc_checksum_valid(ct);
#define CLEAR_CMOS 0 #else @@ -168,12 +195,13 @@ void rtc_init(int invalid)
#if CONFIG_USE_OPTION_TABLE /* See if there is a LB CMOS checksum error */ - checksum_invalid = !rtc_checksum_valid(); + checksum_invalid = !ct || !rtc_checksum_valid(ct); if(checksum_invalid) printk(BIOS_DEBUG, "RTC: coreboot checksum invalid\n");
/* Make certain we have a valid checksum */ - rtc_set_checksum(); + if (ct) + rtc_set_checksum(ct); #endif
/* Clear any pending interrupts */ @@ -222,13 +250,7 @@ enum cb_err get_option(void *dest, const char *name) { struct cmos_option_table *ct; struct cmos_entries *ce; - size_t namelen; - int found=0;
- /* Figure out how long name is */ - namelen = strnlen(name, CMOS_MAX_NAME_LENGTH); - - /* find the requested entry record */ ct = cbfs_get_file_content(CBFS_DEFAULT_MEDIA, "cmos_layout.bin", CBFS_COMPONENT_CMOS_LAYOUT, NULL); if (!ct) { @@ -236,27 +258,21 @@ enum cb_err get_option(void *dest, const char *name) "Options are disabled\n"); return CB_CMOS_LAYOUT_NOT_FOUND; } - ce=(struct cmos_entries*)((unsigned char *)ct + ct->header_length); - for(;ce->tag==LB_TAG_OPTION; - ce=(struct cmos_entries*)((unsigned char *)ce + ce->size)) { - if (memcmp(ce->name, name, namelen) == 0) { - found=1; - break; - } - } - if(!found) { + + ce = find_cmos_entry(ct, name); + if(!ce) { printk(BIOS_DEBUG, "WARNING: No CMOS option '%s'.\n", name); return CB_CMOS_OPTION_NOT_FOUND; } - if(get_cmos_value(ce->bit, ce->length, dest) != CB_SUCCESS) return CB_CMOS_ACCESS_ERROR; - if(!rtc_checksum_valid()) + if(!rtc_checksum_valid(ct)) return CB_CMOS_CHECKSUM_INVALID; return CB_SUCCESS; }
-static enum cb_err set_cmos_value(unsigned long bit, unsigned long length, +static enum cb_err set_cmos_value(struct cmos_option_table *ct, + unsigned long bit, unsigned long length, void *vret) { unsigned char *ret; @@ -276,7 +292,7 @@ static enum cb_err set_cmos_value(unsigned long bit, unsigned long length, uchar &= ~mask; uchar |= (ret[0] << byte_bit); cmos_write(uchar, byte); - if (overlaps_checksum (byte)) + if (overlaps_checksum (ct, byte)) chksum_update_needed = 1; } else { /* more that one byte so transfer the whole bytes */ if (byte_bit || length % 8) @@ -284,13 +300,13 @@ static enum cb_err set_cmos_value(unsigned long bit, unsigned long length,
for(i=0; length; i++, length-=8, byte++) { cmos_write(ret[i], byte); - if (overlaps_checksum (byte)) + if (overlaps_checksum (ct, byte)) chksum_update_needed = 1; } }
if (chksum_update_needed) { - rtc_set_checksum(); + rtc_set_checksum(ct); } return CB_SUCCESS; } @@ -331,12 +347,12 @@ enum cb_err set_option(const char *name, void *value) if (ce->config == 's') { length = MAX(strlen((const char *)value) * 8, ce->length - 8); /* make sure the string is null terminated */ - if (set_cmos_value(ce->bit + ce->length - 8, 8, &(u8[]){0}) + if (set_cmos_value(ct, ce->bit + ce->length - 8, 8, &(u8[]){0}) != CB_SUCCESS) return (CB_CMOS_ACCESS_ERROR); }
- if (set_cmos_value(ce->bit, length, value) != CB_SUCCESS) + if (set_cmos_value(ct, ce->bit, length, value) != CB_SUCCESS) return (CB_CMOS_ACCESS_ERROR);
return CB_SUCCESS; diff --git a/src/drivers/pc80/mc146818rtc_early.c b/src/drivers/pc80/mc146818rtc_early.c index 3bf7e82..f8d6295 100644 --- a/src/drivers/pc80/mc146818rtc_early.c +++ b/src/drivers/pc80/mc146818rtc_early.c @@ -71,6 +71,15 @@ static int cmos_chksum_valid(void) unsigned char addr; u16 sum, old_sum; const struct cmos_checksum *cc; + const struct cmos_entries *ce; + + ce = (const struct cmos_entries *) find_entry("version"); + if (!ce) + return 0; + if (cmos_read (ce->bit / 8) != (ce->config_id & 0xff)) + return 0; + if (cmos_read (ce->bit / 8 + 1) != ((ce->config_id >> 8) & 0xff)) + return 0;
cc = (struct cmos_checksum *) find_first_entry();
diff --git a/src/mainboard/advansus/a785e-i/cmos.layout b/src/mainboard/advansus/a785e-i/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/advansus/a785e-i/cmos.layout +++ b/src/mainboard/advansus/a785e-i/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/bimini_fam10/cmos.layout b/src/mainboard/amd/bimini_fam10/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/amd/bimini_fam10/cmos.layout +++ b/src/mainboard/amd/bimini_fam10/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/db800/cmos.layout b/src/mainboard/amd/db800/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/amd/db800/cmos.layout +++ b/src/mainboard/amd/db800/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/amd/dbm690t/cmos.layout b/src/mainboard/amd/dbm690t/cmos.layout index 86aadf5..6fcaa36 100644 --- a/src/mainboard/amd/dbm690t/cmos.layout +++ b/src/mainboard/amd/dbm690t/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/dinar/cmos.layout b/src/mainboard/amd/dinar/cmos.layout index 89ef0ca..1834e77 100644 --- a/src/mainboard/amd/dinar/cmos.layout +++ b/src/mainboard/amd/dinar/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/inagua/cmos.layout b/src/mainboard/amd/inagua/cmos.layout index 95ce3b5..70a2b67 100644 --- a/src/mainboard/amd/inagua/cmos.layout +++ b/src/mainboard/amd/inagua/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/mahogany/cmos.layout b/src/mainboard/amd/mahogany/cmos.layout index 37530b7..e638437 100644 --- a/src/mainboard/amd/mahogany/cmos.layout +++ b/src/mainboard/amd/mahogany/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/mahogany_fam10/cmos.layout b/src/mainboard/amd/mahogany_fam10/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/amd/mahogany_fam10/cmos.layout +++ b/src/mainboard/amd/mahogany_fam10/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/norwich/cmos.layout b/src/mainboard/amd/norwich/cmos.layout index 864d89a..0e71deb 100644 --- a/src/mainboard/amd/norwich/cmos.layout +++ b/src/mainboard/amd/norwich/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 440 1 e 0 dcon_present 1008 16 h 0 check_sum
diff --git a/src/mainboard/amd/olivehill/cmos.layout b/src/mainboard/amd/olivehill/cmos.layout index 5520564..7df5c01 100644 --- a/src/mainboard/amd/olivehill/cmos.layout +++ b/src/mainboard/amd/olivehill/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/parmer/cmos.layout b/src/mainboard/amd/parmer/cmos.layout index 5520564..7df5c01 100644 --- a/src/mainboard/amd/parmer/cmos.layout +++ b/src/mainboard/amd/parmer/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/persimmon/cmos.layout b/src/mainboard/amd/persimmon/cmos.layout index 95ce3b5..70a2b67 100644 --- a/src/mainboard/amd/persimmon/cmos.layout +++ b/src/mainboard/amd/persimmon/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/pistachio/cmos.layout b/src/mainboard/amd/pistachio/cmos.layout index 86aadf5..6fcaa36 100644 --- a/src/mainboard/amd/pistachio/cmos.layout +++ b/src/mainboard/amd/pistachio/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/rumba/cmos.layout b/src/mainboard/amd/rumba/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/amd/rumba/cmos.layout +++ b/src/mainboard/amd/rumba/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/amd/serengeti_cheetah/cmos.layout b/src/mainboard/amd/serengeti_cheetah/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/amd/serengeti_cheetah/cmos.layout +++ b/src/mainboard/amd/serengeti_cheetah/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/cmos.layout b/src/mainboard/amd/serengeti_cheetah_fam10/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/amd/serengeti_cheetah_fam10/cmos.layout +++ b/src/mainboard/amd/serengeti_cheetah_fam10/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/south_station/cmos.layout b/src/mainboard/amd/south_station/cmos.layout index 95ce3b5..70a2b67 100644 --- a/src/mainboard/amd/south_station/cmos.layout +++ b/src/mainboard/amd/south_station/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/thatcher/cmos.layout b/src/mainboard/amd/thatcher/cmos.layout index 5520564..7df5c01 100644 --- a/src/mainboard/amd/thatcher/cmos.layout +++ b/src/mainboard/amd/thatcher/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/tilapia_fam10/cmos.layout b/src/mainboard/amd/tilapia_fam10/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/amd/tilapia_fam10/cmos.layout +++ b/src/mainboard/amd/tilapia_fam10/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/torpedo/cmos.layout b/src/mainboard/amd/torpedo/cmos.layout index 95ce3b5..70a2b67 100644 --- a/src/mainboard/amd/torpedo/cmos.layout +++ b/src/mainboard/amd/torpedo/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/amd/union_station/cmos.layout b/src/mainboard/amd/union_station/cmos.layout index 95ce3b5..70a2b67 100644 --- a/src/mainboard/amd/union_station/cmos.layout +++ b/src/mainboard/amd/union_station/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/arima/hdama/cmos.layout b/src/mainboard/arima/hdama/cmos.layout index d8e2eee..5284ec1 100644 --- a/src/mainboard/arima/hdama/cmos.layout +++ b/src/mainboard/arima/hdama/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/artecgroup/dbe61/cmos.layout b/src/mainboard/artecgroup/dbe61/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/artecgroup/dbe61/cmos.layout +++ b/src/mainboard/artecgroup/dbe61/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/asrock/939a785gmh/cmos.layout b/src/mainboard/asrock/939a785gmh/cmos.layout index 37530b7..e638437 100644 --- a/src/mainboard/asrock/939a785gmh/cmos.layout +++ b/src/mainboard/asrock/939a785gmh/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asrock/e350m1/cmos.layout b/src/mainboard/asrock/e350m1/cmos.layout index 95ce3b5..70a2b67 100644 --- a/src/mainboard/asrock/e350m1/cmos.layout +++ b/src/mainboard/asrock/e350m1/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asrock/imb-a180/cmos.layout b/src/mainboard/asrock/imb-a180/cmos.layout index f6b5806..751ae20 100644 --- a/src/mainboard/asrock/imb-a180/cmos.layout +++ b/src/mainboard/asrock/imb-a180/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asus/a8n_e/cmos.layout b/src/mainboard/asus/a8n_e/cmos.layout index 726de26..b78884b 100644 --- a/src/mainboard/asus/a8n_e/cmos.layout +++ b/src/mainboard/asus/a8n_e/cmos.layout @@ -42,6 +42,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu + 448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asus/a8v-e_deluxe/cmos.layout b/src/mainboard/asus/a8v-e_deluxe/cmos.layout index fc13a3c..cf6915c 100644 --- a/src/mainboard/asus/a8v-e_deluxe/cmos.layout +++ b/src/mainboard/asus/a8v-e_deluxe/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asus/a8v-e_se/cmos.layout b/src/mainboard/asus/a8v-e_se/cmos.layout index fc13a3c..cf6915c 100644 --- a/src/mainboard/asus/a8v-e_se/cmos.layout +++ b/src/mainboard/asus/a8v-e_se/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asus/dsbf/cmos.layout b/src/mainboard/asus/dsbf/cmos.layout index 29e78ad..bbca1f4 100644 --- a/src/mainboard/asus/dsbf/cmos.layout +++ b/src/mainboard/asus/dsbf/cmos.layout @@ -65,7 +65,8 @@ entries
# ----------------------------------------------------------------- 0 120 r 0 reserved_memory -#120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/asus/f2a85-m/cmos.layout b/src/mainboard/asus/f2a85-m/cmos.layout index 5520564..7df5c01 100644 --- a/src/mainboard/asus/f2a85-m/cmos.layout +++ b/src/mainboard/asus/f2a85-m/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asus/k8v-x/cmos.layout b/src/mainboard/asus/k8v-x/cmos.layout index fc13a3c..cf6915c 100644 --- a/src/mainboard/asus/k8v-x/cmos.layout +++ b/src/mainboard/asus/k8v-x/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asus/m2n-e/cmos.layout b/src/mainboard/asus/m2n-e/cmos.layout index 7281d23..09aef35 100644 --- a/src/mainboard/asus/m2n-e/cmos.layout +++ b/src/mainboard/asus/m2n-e/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asus/m2v-mx_se/cmos.layout b/src/mainboard/asus/m2v-mx_se/cmos.layout index f2e90e7..f90afbb 100644 --- a/src/mainboard/asus/m2v-mx_se/cmos.layout +++ b/src/mainboard/asus/m2v-mx_se/cmos.layout @@ -44,6 +44,7 @@ entries 444 1 e 1 nmi 445 1 e 1 iommu 448 3 e 10 videoram_size +456 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asus/m2v/cmos.layout b/src/mainboard/asus/m2v/cmos.layout index fc13a3c..cf6915c 100644 --- a/src/mainboard/asus/m2v/cmos.layout +++ b/src/mainboard/asus/m2v/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asus/m4a78-em/cmos.layout b/src/mainboard/asus/m4a78-em/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/asus/m4a78-em/cmos.layout +++ b/src/mainboard/asus/m4a78-em/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asus/m4a785-m/cmos.layout b/src/mainboard/asus/m4a785-m/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/asus/m4a785-m/cmos.layout +++ b/src/mainboard/asus/m4a785-m/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asus/m4a785t-m/cmos.layout b/src/mainboard/asus/m4a785t-m/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/asus/m4a785t-m/cmos.layout +++ b/src/mainboard/asus/m4a785t-m/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asus/m5a88-v/cmos.layout b/src/mainboard/asus/m5a88-v/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/asus/m5a88-v/cmos.layout +++ b/src/mainboard/asus/m5a88-v/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/asus/mew-vm/cmos.layout b/src/mainboard/asus/mew-vm/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/asus/mew-vm/cmos.layout +++ b/src/mainboard/asus/mew-vm/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/avalue/eax-785e/cmos.layout b/src/mainboard/avalue/eax-785e/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/avalue/eax-785e/cmos.layout +++ b/src/mainboard/avalue/eax-785e/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/bachmann/ot200/cmos.layout b/src/mainboard/bachmann/ot200/cmos.layout index 90ade93..c12ac68 100644 --- a/src/mainboard/bachmann/ot200/cmos.layout +++ b/src/mainboard/bachmann/ot200/cmos.layout @@ -29,6 +29,8 @@ entries 384 3 e 1 baud_rate 387 4 e 2 debug_level
+448 16 v 0 version + # ----------------------------------------------------------------- # coreboot config options: check sums 1008 16 h 0 check_sum diff --git a/src/mainboard/bcom/winnetp680/cmos.layout b/src/mainboard/bcom/winnetp680/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/bcom/winnetp680/cmos.layout +++ b/src/mainboard/bcom/winnetp680/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/broadcom/blast/cmos.layout b/src/mainboard/broadcom/blast/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/broadcom/blast/cmos.layout +++ b/src/mainboard/broadcom/blast/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/digitallogic/adl855pc/cmos.layout b/src/mainboard/digitallogic/adl855pc/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/digitallogic/adl855pc/cmos.layout +++ b/src/mainboard/digitallogic/adl855pc/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/digitallogic/msm586seg/cmos.layout b/src/mainboard/digitallogic/msm586seg/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/digitallogic/msm586seg/cmos.layout +++ b/src/mainboard/digitallogic/msm586seg/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/digitallogic/msm800sev/cmos.layout b/src/mainboard/digitallogic/msm800sev/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/digitallogic/msm800sev/cmos.layout +++ b/src/mainboard/digitallogic/msm800sev/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/eaglelion/5bcm/cmos.layout b/src/mainboard/eaglelion/5bcm/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/eaglelion/5bcm/cmos.layout +++ b/src/mainboard/eaglelion/5bcm/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/emulation/qemu-i440fx/cmos.layout b/src/mainboard/emulation/qemu-i440fx/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/emulation/qemu-i440fx/cmos.layout +++ b/src/mainboard/emulation/qemu-i440fx/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/getac/p470/cmos.layout b/src/mainboard/getac/p470/cmos.layout index c879078..2580ab8 100644 --- a/src/mainboard/getac/p470/cmos.layout +++ b/src/mainboard/getac/p470/cmos.layout @@ -66,6 +66,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/gigabyte/ga_2761gxdk/cmos.layout b/src/mainboard/gigabyte/ga_2761gxdk/cmos.layout index a8cec16..60d3415 100644 --- a/src/mainboard/gigabyte/ga_2761gxdk/cmos.layout +++ b/src/mainboard/gigabyte/ga_2761gxdk/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/gigabyte/m57sli/cmos.layout b/src/mainboard/gigabyte/m57sli/cmos.layout index a8cec16..60d3415 100644 --- a/src/mainboard/gigabyte/m57sli/cmos.layout +++ b/src/mainboard/gigabyte/m57sli/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/gigabyte/ma785gm/cmos.layout b/src/mainboard/gigabyte/ma785gm/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/gigabyte/ma785gm/cmos.layout +++ b/src/mainboard/gigabyte/ma785gm/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/gigabyte/ma785gmt/cmos.layout b/src/mainboard/gigabyte/ma785gmt/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/gigabyte/ma785gmt/cmos.layout +++ b/src/mainboard/gigabyte/ma785gmt/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/gigabyte/ma78gm/cmos.layout b/src/mainboard/gigabyte/ma78gm/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/gigabyte/ma78gm/cmos.layout +++ b/src/mainboard/gigabyte/ma78gm/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/gizmosphere/gizmo/cmos.layout b/src/mainboard/gizmosphere/gizmo/cmos.layout index 54ec400..451b3f6 100755 --- a/src/mainboard/gizmosphere/gizmo/cmos.layout +++ b/src/mainboard/gizmosphere/gizmo/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/google/bolt/cmos.layout b/src/mainboard/google/bolt/cmos.layout index afdd3c6..e73c2cf 100644 --- a/src/mainboard/google/bolt/cmos.layout +++ b/src/mainboard/google/bolt/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/google/butterfly/cmos.layout b/src/mainboard/google/butterfly/cmos.layout index f0163f1..0e3d0b2 100644 --- a/src/mainboard/google/butterfly/cmos.layout +++ b/src/mainboard/google/butterfly/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/google/falco/cmos.layout b/src/mainboard/google/falco/cmos.layout index afdd3c6..e73c2cf 100644 --- a/src/mainboard/google/falco/cmos.layout +++ b/src/mainboard/google/falco/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/google/link/cmos.layout b/src/mainboard/google/link/cmos.layout index b7320b5..fa791f0 100644 --- a/src/mainboard/google/link/cmos.layout +++ b/src/mainboard/google/link/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/google/parrot/cmos.layout b/src/mainboard/google/parrot/cmos.layout index b7320b5..fa791f0 100644 --- a/src/mainboard/google/parrot/cmos.layout +++ b/src/mainboard/google/parrot/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/google/peppy/cmos.layout b/src/mainboard/google/peppy/cmos.layout index afdd3c6..e73c2cf 100644 --- a/src/mainboard/google/peppy/cmos.layout +++ b/src/mainboard/google/peppy/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/google/slippy/cmos.layout b/src/mainboard/google/slippy/cmos.layout index afdd3c6..e73c2cf 100644 --- a/src/mainboard/google/slippy/cmos.layout +++ b/src/mainboard/google/slippy/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/google/stout/cmos.layout b/src/mainboard/google/stout/cmos.layout index b7320b5..fa791f0 100644 --- a/src/mainboard/google/stout/cmos.layout +++ b/src/mainboard/google/stout/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/hp/dl145_g1/cmos.layout b/src/mainboard/hp/dl145_g1/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/hp/dl145_g1/cmos.layout +++ b/src/mainboard/hp/dl145_g1/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/hp/dl145_g3/cmos.layout b/src/mainboard/hp/dl145_g3/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/hp/dl145_g3/cmos.layout +++ b/src/mainboard/hp/dl145_g3/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/hp/dl165_g6_fam10/cmos.layout b/src/mainboard/hp/dl165_g6_fam10/cmos.layout index 1c6a3cd..afded2c 100644 --- a/src/mainboard/hp/dl165_g6_fam10/cmos.layout +++ b/src/mainboard/hp/dl165_g6_fam10/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/ibase/mb899/cmos.layout b/src/mainboard/ibase/mb899/cmos.layout index b3e8c4e..2e8ee32 100644 --- a/src/mainboard/ibase/mb899/cmos.layout +++ b/src/mainboard/ibase/mb899/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/ibm/e325/cmos.layout b/src/mainboard/ibm/e325/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/ibm/e325/cmos.layout +++ b/src/mainboard/ibm/e325/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/ibm/e326/cmos.layout b/src/mainboard/ibm/e326/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/ibm/e326/cmos.layout +++ b/src/mainboard/ibm/e326/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/iei/juki-511p/cmos.layout b/src/mainboard/iei/juki-511p/cmos.layout index 67a3ce4..7663571 100644 --- a/src/mainboard/iei/juki-511p/cmos.layout +++ b/src/mainboard/iei/juki-511p/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/iei/kino-780am2-fam10/cmos.layout b/src/mainboard/iei/kino-780am2-fam10/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/iei/kino-780am2-fam10/cmos.layout +++ b/src/mainboard/iei/kino-780am2-fam10/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/iei/nova4899r/cmos.layout b/src/mainboard/iei/nova4899r/cmos.layout index 67a3ce4..7663571 100644 --- a/src/mainboard/iei/nova4899r/cmos.layout +++ b/src/mainboard/iei/nova4899r/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/intel/baskingridge/cmos.layout b/src/mainboard/intel/baskingridge/cmos.layout index e8a088d..ededf51 100644 --- a/src/mainboard/intel/baskingridge/cmos.layout +++ b/src/mainboard/intel/baskingridge/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/intel/cougar_canyon2/cmos.layout b/src/mainboard/intel/cougar_canyon2/cmos.layout index b7320b5..fa791f0 100644 --- a/src/mainboard/intel/cougar_canyon2/cmos.layout +++ b/src/mainboard/intel/cougar_canyon2/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/intel/d945gclf/cmos.layout b/src/mainboard/intel/d945gclf/cmos.layout index 9997584..8e48aa1 100644 --- a/src/mainboard/intel/d945gclf/cmos.layout +++ b/src/mainboard/intel/d945gclf/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/intel/eagleheights/cmos.layout b/src/mainboard/intel/eagleheights/cmos.layout index ae6f942..babdb2a 100644 --- a/src/mainboard/intel/eagleheights/cmos.layout +++ b/src/mainboard/intel/eagleheights/cmos.layout @@ -66,6 +66,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/intel/emeraldlake2/cmos.layout b/src/mainboard/intel/emeraldlake2/cmos.layout index b7320b5..fa791f0 100644 --- a/src/mainboard/intel/emeraldlake2/cmos.layout +++ b/src/mainboard/intel/emeraldlake2/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/intel/jarrell/cmos.layout b/src/mainboard/intel/jarrell/cmos.layout index 1f225f8..c8c4303 100644 --- a/src/mainboard/intel/jarrell/cmos.layout +++ b/src/mainboard/intel/jarrell/cmos.layout @@ -39,6 +39,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/intel/wtm2/cmos.layout b/src/mainboard/intel/wtm2/cmos.layout index afdd3c6..e73c2cf 100644 --- a/src/mainboard/intel/wtm2/cmos.layout +++ b/src/mainboard/intel/wtm2/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/iwave/iWRainbowG6/cmos.layout b/src/mainboard/iwave/iWRainbowG6/cmos.layout index ce98ffd..9830737 100644 --- a/src/mainboard/iwave/iWRainbowG6/cmos.layout +++ b/src/mainboard/iwave/iWRainbowG6/cmos.layout @@ -66,6 +66,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/iwill/dk8_htx/cmos.layout b/src/mainboard/iwill/dk8_htx/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/iwill/dk8_htx/cmos.layout +++ b/src/mainboard/iwill/dk8_htx/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/iwill/dk8s2/cmos.layout b/src/mainboard/iwill/dk8s2/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/iwill/dk8s2/cmos.layout +++ b/src/mainboard/iwill/dk8s2/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/iwill/dk8x/cmos.layout b/src/mainboard/iwill/dk8x/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/iwill/dk8x/cmos.layout +++ b/src/mainboard/iwill/dk8x/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/jetway/j7f2/cmos.layout b/src/mainboard/jetway/j7f2/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/jetway/j7f2/cmos.layout +++ b/src/mainboard/jetway/j7f2/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/jetway/pa78vm5/cmos.layout b/src/mainboard/jetway/pa78vm5/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/jetway/pa78vm5/cmos.layout +++ b/src/mainboard/jetway/pa78vm5/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/kontron/986lcd-m/cmos.layout b/src/mainboard/kontron/986lcd-m/cmos.layout index 4ae8834..df9c22f 100644 --- a/src/mainboard/kontron/986lcd-m/cmos.layout +++ b/src/mainboard/kontron/986lcd-m/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/kontron/kt690/cmos.layout b/src/mainboard/kontron/kt690/cmos.layout index 86aadf5..6fcaa36 100644 --- a/src/mainboard/kontron/kt690/cmos.layout +++ b/src/mainboard/kontron/kt690/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/kontron/ktqm77/cmos.layout b/src/mainboard/kontron/ktqm77/cmos.layout index dc6a44b..0ec6157 100644 --- a/src/mainboard/kontron/ktqm77/cmos.layout +++ b/src/mainboard/kontron/ktqm77/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/lanner/em8510/cmos.layout b/src/mainboard/lanner/em8510/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/lanner/em8510/cmos.layout +++ b/src/mainboard/lanner/em8510/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/lenovo/t60/cmos.layout b/src/mainboard/lenovo/t60/cmos.layout index fb036e0..24deb4f 100644 --- a/src/mainboard/lenovo/t60/cmos.layout +++ b/src/mainboard/lenovo/t60/cmos.layout @@ -66,6 +66,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/lenovo/x201/cmos.layout b/src/mainboard/lenovo/x201/cmos.layout index 6cf3787..23431ce 100644 --- a/src/mainboard/lenovo/x201/cmos.layout +++ b/src/mainboard/lenovo/x201/cmos.layout @@ -65,6 +65,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/lenovo/x230/cmos.layout b/src/mainboard/lenovo/x230/cmos.layout index 6f8822f..fb1b61c 100644 --- a/src/mainboard/lenovo/x230/cmos.layout +++ b/src/mainboard/lenovo/x230/cmos.layout @@ -65,6 +65,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/lenovo/x60/cmos.layout b/src/mainboard/lenovo/x60/cmos.layout index 469371e..c0cb680 100644 --- a/src/mainboard/lenovo/x60/cmos.layout +++ b/src/mainboard/lenovo/x60/cmos.layout @@ -66,6 +66,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/lippert/frontrunner-af/cmos.layout b/src/mainboard/lippert/frontrunner-af/cmos.layout index 95ce3b5..70a2b67 100644 --- a/src/mainboard/lippert/frontrunner-af/cmos.layout +++ b/src/mainboard/lippert/frontrunner-af/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/lippert/frontrunner/cmos.layout b/src/mainboard/lippert/frontrunner/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/lippert/frontrunner/cmos.layout +++ b/src/mainboard/lippert/frontrunner/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/lippert/toucan-af/cmos.layout b/src/mainboard/lippert/toucan-af/cmos.layout index 95ce3b5..70a2b67 100644 --- a/src/mainboard/lippert/toucan-af/cmos.layout +++ b/src/mainboard/lippert/toucan-af/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/msi/ms7135/cmos.layout b/src/mainboard/msi/ms7135/cmos.layout index 694554d..d089e28 100644 --- a/src/mainboard/msi/ms7135/cmos.layout +++ b/src/mainboard/msi/ms7135/cmos.layout @@ -45,6 +45,7 @@ entries 445 1 e 1 iommu 448 4 e 10 ram_voltage 452 4 e 11 nf4_voltage +456 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/msi/ms7260/cmos.layout b/src/mainboard/msi/ms7260/cmos.layout index da4de0a..cedbe86 100644 --- a/src/mainboard/msi/ms7260/cmos.layout +++ b/src/mainboard/msi/ms7260/cmos.layout @@ -65,6 +65,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/msi/ms9185/cmos.layout b/src/mainboard/msi/ms9185/cmos.layout index 1c6a3cd..afded2c 100644 --- a/src/mainboard/msi/ms9185/cmos.layout +++ b/src/mainboard/msi/ms9185/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/msi/ms9282/cmos.layout b/src/mainboard/msi/ms9282/cmos.layout index 238b4ce..87d8c47 100644 --- a/src/mainboard/msi/ms9282/cmos.layout +++ b/src/mainboard/msi/ms9282/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/msi/ms9652_fam10/cmos.layout b/src/mainboard/msi/ms9652_fam10/cmos.layout index a8cec16..60d3415 100644 --- a/src/mainboard/msi/ms9652_fam10/cmos.layout +++ b/src/mainboard/msi/ms9652_fam10/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/newisys/khepri/cmos.layout b/src/mainboard/newisys/khepri/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/newisys/khepri/cmos.layout +++ b/src/mainboard/newisys/khepri/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/nvidia/l1_2pvv/cmos.layout b/src/mainboard/nvidia/l1_2pvv/cmos.layout index a8cec16..60d3415 100644 --- a/src/mainboard/nvidia/l1_2pvv/cmos.layout +++ b/src/mainboard/nvidia/l1_2pvv/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/pcengines/alix1c/cmos.layout b/src/mainboard/pcengines/alix1c/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/pcengines/alix1c/cmos.layout +++ b/src/mainboard/pcengines/alix1c/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/pcengines/alix2d/cmos.layout b/src/mainboard/pcengines/alix2d/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/pcengines/alix2d/cmos.layout +++ b/src/mainboard/pcengines/alix2d/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/roda/rk886ex/cmos.layout b/src/mainboard/roda/rk886ex/cmos.layout index c879078..2580ab8 100644 --- a/src/mainboard/roda/rk886ex/cmos.layout +++ b/src/mainboard/roda/rk886ex/cmos.layout @@ -66,6 +66,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/roda/rk9/cmos.layout b/src/mainboard/roda/rk9/cmos.layout index 5c82567..f07c8f8 100644 --- a/src/mainboard/roda/rk9/cmos.layout +++ b/src/mainboard/roda/rk9/cmos.layout @@ -67,6 +67,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/samsung/lumpy/cmos.layout b/src/mainboard/samsung/lumpy/cmos.layout index 208e8ee..f49a848 100644 --- a/src/mainboard/samsung/lumpy/cmos.layout +++ b/src/mainboard/samsung/lumpy/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/samsung/stumpy/cmos.layout b/src/mainboard/samsung/stumpy/cmos.layout index ec393a5..2533e90 100644 --- a/src/mainboard/samsung/stumpy/cmos.layout +++ b/src/mainboard/samsung/stumpy/cmos.layout @@ -64,6 +64,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/siemens/sitemp_g1p1/cmos.layout b/src/mainboard/siemens/sitemp_g1p1/cmos.layout index d03a191..b4ad0c5 100644 --- a/src/mainboard/siemens/sitemp_g1p1/cmos.layout +++ b/src/mainboard/siemens/sitemp_g1p1/cmos.layout @@ -77,12 +77,13 @@ entries 436 4 e 14 chassis_t_min 440 4 e 14 chassis_t_max 444 4 e 15 chassis_dutycycle_min -448 4 e 15 chassis_dutycycle_max -#452 4 r 9 unused -456 4 e 10 boot_delay -460 4 e 11 lcd_panel_id +448 16 v 0 version #=========================================================== -464 512 s 0 boot_devices +464 4 e 15 chassis_dutycycle_max +468 4 e 10 boot_delay +472 4 e 11 lcd_panel_id +#476 4 r 0 unused +480 496 s 0 boot_devices 976 8 h 0 boot_default 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/sunw/ultra40/cmos.layout b/src/mainboard/sunw/ultra40/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/sunw/ultra40/cmos.layout +++ b/src/mainboard/sunw/ultra40/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/supermicro/h8dme/cmos.layout b/src/mainboard/supermicro/h8dme/cmos.layout index a8cec16..60d3415 100644 --- a/src/mainboard/supermicro/h8dme/cmos.layout +++ b/src/mainboard/supermicro/h8dme/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/supermicro/h8dmr/cmos.layout b/src/mainboard/supermicro/h8dmr/cmos.layout index a8cec16..60d3415 100644 --- a/src/mainboard/supermicro/h8dmr/cmos.layout +++ b/src/mainboard/supermicro/h8dmr/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/supermicro/h8dmr_fam10/cmos.layout b/src/mainboard/supermicro/h8dmr_fam10/cmos.layout index a8cec16..60d3415 100644 --- a/src/mainboard/supermicro/h8dmr_fam10/cmos.layout +++ b/src/mainboard/supermicro/h8dmr_fam10/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/supermicro/h8qgi/cmos.layout b/src/mainboard/supermicro/h8qgi/cmos.layout index 95ce3b5..70a2b67 100644 --- a/src/mainboard/supermicro/h8qgi/cmos.layout +++ b/src/mainboard/supermicro/h8qgi/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/supermicro/h8qme_fam10/cmos.layout b/src/mainboard/supermicro/h8qme_fam10/cmos.layout index a8cec16..60d3415 100644 --- a/src/mainboard/supermicro/h8qme_fam10/cmos.layout +++ b/src/mainboard/supermicro/h8qme_fam10/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/supermicro/h8scm/cmos.layout b/src/mainboard/supermicro/h8scm/cmos.layout index 95ce3b5..70a2b67 100644 --- a/src/mainboard/supermicro/h8scm/cmos.layout +++ b/src/mainboard/supermicro/h8scm/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/supermicro/h8scm_fam10/cmos.layout b/src/mainboard/supermicro/h8scm_fam10/cmos.layout index 53fdef5..e14309a 100644 --- a/src/mainboard/supermicro/h8scm_fam10/cmos.layout +++ b/src/mainboard/supermicro/h8scm_fam10/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/supermicro/x6dai_g/cmos.layout b/src/mainboard/supermicro/x6dai_g/cmos.layout index 81f1a69..258939e 100644 --- a/src/mainboard/supermicro/x6dai_g/cmos.layout +++ b/src/mainboard/supermicro/x6dai_g/cmos.layout @@ -37,6 +37,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/supermicro/x6dhe_g/cmos.layout b/src/mainboard/supermicro/x6dhe_g/cmos.layout index 81f1a69..258939e 100644 --- a/src/mainboard/supermicro/x6dhe_g/cmos.layout +++ b/src/mainboard/supermicro/x6dhe_g/cmos.layout @@ -37,6 +37,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/supermicro/x6dhe_g2/cmos.layout b/src/mainboard/supermicro/x6dhe_g2/cmos.layout index 81f1a69..258939e 100644 --- a/src/mainboard/supermicro/x6dhe_g2/cmos.layout +++ b/src/mainboard/supermicro/x6dhe_g2/cmos.layout @@ -37,6 +37,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/supermicro/x6dhr_ig/cmos.layout b/src/mainboard/supermicro/x6dhr_ig/cmos.layout index 81f1a69..258939e 100644 --- a/src/mainboard/supermicro/x6dhr_ig/cmos.layout +++ b/src/mainboard/supermicro/x6dhr_ig/cmos.layout @@ -37,6 +37,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/supermicro/x6dhr_ig2/cmos.layout b/src/mainboard/supermicro/x6dhr_ig2/cmos.layout index 81f1a69..258939e 100644 --- a/src/mainboard/supermicro/x6dhr_ig2/cmos.layout +++ b/src/mainboard/supermicro/x6dhr_ig2/cmos.layout @@ -37,6 +37,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/supermicro/x7db8/cmos.layout b/src/mainboard/supermicro/x7db8/cmos.layout index 29e78ad..32243b7 100644 --- a/src/mainboard/supermicro/x7db8/cmos.layout +++ b/src/mainboard/supermicro/x7db8/cmos.layout @@ -66,6 +66,8 @@ entries # ----------------------------------------------------------------- 0 120 r 0 reserved_memory #120 264 r 0 unused +120 16 v 0 version +#136 248 r 0 unused
# ----------------------------------------------------------------- # RTC_BOOT_BYTE (coreboot hardcoded) diff --git a/src/mainboard/technexion/tim5690/cmos.layout b/src/mainboard/technexion/tim5690/cmos.layout index 86aadf5..6fcaa36 100644 --- a/src/mainboard/technexion/tim5690/cmos.layout +++ b/src/mainboard/technexion/tim5690/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/technexion/tim8690/cmos.layout b/src/mainboard/technexion/tim8690/cmos.layout index 86aadf5..6fcaa36 100644 --- a/src/mainboard/technexion/tim8690/cmos.layout +++ b/src/mainboard/technexion/tim8690/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/technologic/ts5300/cmos.layout b/src/mainboard/technologic/ts5300/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/technologic/ts5300/cmos.layout +++ b/src/mainboard/technologic/ts5300/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/traverse/geos/cmos.layout b/src/mainboard/traverse/geos/cmos.layout index 864d89a..0e71deb 100644 --- a/src/mainboard/traverse/geos/cmos.layout +++ b/src/mainboard/traverse/geos/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 440 1 e 0 dcon_present 1008 16 h 0 check_sum
diff --git a/src/mainboard/tyan/s2735/cmos.layout b/src/mainboard/tyan/s2735/cmos.layout index 608f028..42da3f9 100644 --- a/src/mainboard/tyan/s2735/cmos.layout +++ b/src/mainboard/tyan/s2735/cmos.layout @@ -39,6 +39,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version #440 4 e 9 slow_cpu 444 1 e 1 nmi 728 256 h 0 user_data diff --git a/src/mainboard/tyan/s2850/cmos.layout b/src/mainboard/tyan/s2850/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/tyan/s2850/cmos.layout +++ b/src/mainboard/tyan/s2850/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/tyan/s2875/cmos.layout b/src/mainboard/tyan/s2875/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/tyan/s2875/cmos.layout +++ b/src/mainboard/tyan/s2875/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/tyan/s2880/cmos.layout b/src/mainboard/tyan/s2880/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/tyan/s2880/cmos.layout +++ b/src/mainboard/tyan/s2880/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/tyan/s2881/cmos.layout b/src/mainboard/tyan/s2881/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/tyan/s2881/cmos.layout +++ b/src/mainboard/tyan/s2881/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/tyan/s2882/cmos.layout b/src/mainboard/tyan/s2882/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/tyan/s2882/cmos.layout +++ b/src/mainboard/tyan/s2882/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/tyan/s2885/cmos.layout b/src/mainboard/tyan/s2885/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/tyan/s2885/cmos.layout +++ b/src/mainboard/tyan/s2885/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/tyan/s2891/cmos.layout b/src/mainboard/tyan/s2891/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/tyan/s2891/cmos.layout +++ b/src/mainboard/tyan/s2891/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/tyan/s2892/cmos.layout b/src/mainboard/tyan/s2892/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/tyan/s2892/cmos.layout +++ b/src/mainboard/tyan/s2892/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/tyan/s2895/cmos.layout b/src/mainboard/tyan/s2895/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/tyan/s2895/cmos.layout +++ b/src/mainboard/tyan/s2895/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/tyan/s2912/cmos.layout b/src/mainboard/tyan/s2912/cmos.layout index a8cec16..60d3415 100644 --- a/src/mainboard/tyan/s2912/cmos.layout +++ b/src/mainboard/tyan/s2912/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/tyan/s2912_fam10/cmos.layout b/src/mainboard/tyan/s2912_fam10/cmos.layout index a8cec16..60d3415 100644 --- a/src/mainboard/tyan/s2912_fam10/cmos.layout +++ b/src/mainboard/tyan/s2912_fam10/cmos.layout @@ -64,6 +64,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/tyan/s4880/cmos.layout b/src/mainboard/tyan/s4880/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/tyan/s4880/cmos.layout +++ b/src/mainboard/tyan/s4880/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/tyan/s4882/cmos.layout b/src/mainboard/tyan/s4882/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/tyan/s4882/cmos.layout +++ b/src/mainboard/tyan/s4882/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/tyan/s8226/cmos.layout b/src/mainboard/tyan/s8226/cmos.layout index 95ce3b5..70a2b67 100644 --- a/src/mainboard/tyan/s8226/cmos.layout +++ b/src/mainboard/tyan/s8226/cmos.layout @@ -63,6 +63,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/via/epia-cn/cmos.layout b/src/mainboard/via/epia-cn/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/via/epia-cn/cmos.layout +++ b/src/mainboard/via/epia-cn/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/via/epia-m/cmos.layout b/src/mainboard/via/epia-m/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/via/epia-m/cmos.layout +++ b/src/mainboard/via/epia-m/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/via/epia-m700/cmos.layout b/src/mainboard/via/epia-m700/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/via/epia-m700/cmos.layout +++ b/src/mainboard/via/epia-m700/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/via/epia-n/cmos.layout b/src/mainboard/via/epia-n/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/via/epia-n/cmos.layout +++ b/src/mainboard/via/epia-n/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/via/epia/cmos.layout b/src/mainboard/via/epia/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/via/epia/cmos.layout +++ b/src/mainboard/via/epia/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/via/pc2500e/cmos.layout b/src/mainboard/via/pc2500e/cmos.layout index fa5dc4c..0ca09ea 100644 --- a/src/mainboard/via/pc2500e/cmos.layout +++ b/src/mainboard/via/pc2500e/cmos.layout @@ -34,6 +34,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/via/vt8454c/cmos.layout b/src/mainboard/via/vt8454c/cmos.layout index e80bb94..87984da 100644 --- a/src/mainboard/via/vt8454c/cmos.layout +++ b/src/mainboard/via/vt8454c/cmos.layout @@ -29,6 +29,7 @@ entries 392 3 e 5 baud_rate 400 1 e 1 power_on_after_fail 412 4 e 6 debug_level +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/winent/mb6047/cmos.layout b/src/mainboard/winent/mb6047/cmos.layout index 924934c..10b1548 100644 --- a/src/mainboard/winent/mb6047/cmos.layout +++ b/src/mainboard/winent/mb6047/cmos.layout @@ -43,6 +43,7 @@ entries 440 4 e 9 slow_cpu 444 1 e 1 nmi 445 1 e 1 iommu +448 16 v 0 version 728 256 h 0 user_data 984 16 h 0 check_sum # Reserve the extended AMD configuration registers diff --git a/src/mainboard/winent/pl6064/cmos.layout b/src/mainboard/winent/pl6064/cmos.layout index c1354a2..789347f 100644 --- a/src/mainboard/winent/pl6064/cmos.layout +++ b/src/mainboard/winent/pl6064/cmos.layout @@ -36,6 +36,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/src/mainboard/wyse/s50/cmos.layout b/src/mainboard/wyse/s50/cmos.layout index e561358..341accd 100644 --- a/src/mainboard/wyse/s50/cmos.layout +++ b/src/mainboard/wyse/s50/cmos.layout @@ -59,6 +59,7 @@ entries 424 4 e 7 boot_third 428 4 h 0 boot_index 432 8 h 0 boot_countdown +448 16 v 0 version 1008 16 h 0 check_sum
enumerations diff --git a/util/nvramtool/accessors/layout-bin.c b/util/nvramtool/accessors/layout-bin.c index 4b7f8d6..79d2007 100644 --- a/util/nvramtool/accessors/layout-bin.c +++ b/util/nvramtool/accessors/layout-bin.c @@ -273,6 +273,10 @@ static void process_cmos_table(void) cmos_entry.config = CMOS_ENTRY_HEX; break;
+ case 'v': + cmos_entry.config = CMOS_ENTRY_VERSION; + break; + case 'r': cmos_entry.config = CMOS_ENTRY_RESERVED; break; diff --git a/util/nvramtool/accessors/layout-text.c b/util/nvramtool/accessors/layout-text.c index a06f560..e72e946 100644 --- a/util/nvramtool/accessors/layout-text.c +++ b/util/nvramtool/accessors/layout-text.c @@ -192,6 +192,9 @@ static int line_num;
static const char *layout_filename = NULL;
+static unsigned int layout_checksum; +static int version_bit = -1; + /**************************************************************************** * set_layout_filename * @@ -311,6 +314,26 @@ void write_cmos_layout(FILE * f) layout.summed_area_end, layout.checksum_at); }
+static void process_layout_checksum(void) +{ + cmos_entry_t cmos_entry; + + if (version_bit < 0) { + fprintf(stderr, + "%s: version field not found.\n", prog_name); + exit(1); + } + + memset (&cmos_entry, 0, sizeof (cmos_entry)); + + cmos_entry.bit = version_bit; + cmos_entry.length = 16; + cmos_entry.config_id = layout_checksum; + cmos_entry.config = 'v'; + strcpy (cmos_entry.name, "version"); + try_add_layout_file_entry(&cmos_entry); +} + /**************************************************************************** * process_layout_file * @@ -370,6 +393,8 @@ static void process_layout_file(FILE * f) /* Skip past all enums. They have already been processed. */ while (!process_enum(f, 1)) ;
+ process_layout_checksum(); + /* Process CMOS checksum info. */ process_checksum_info(f);
@@ -471,6 +496,31 @@ static int process_entry(FILE * f, int skip_add) create_entry(&cmos_entry, &line[match[1].rm_so], &line[match[2].rm_so], &line[match[3].rm_so], &line[match[4].rm_so], &line[match[5].rm_so]); + + + /* Special case of universal hashing. Small primes, + different, chosen at random. + */ + layout_checksum = (layout_checksum * 307) % 0xffff; + layout_checksum += cmos_entry.bit * 43 + + cmos_entry.length * 257 + + cmos_entry.config_id * 313 + + cmos_entry.config * 509; + layout_checksum %= 0xffff; + layout_checksum += compute_ip_checksum(cmos_entry.name, + strlen (cmos_entry.name)) + * 89; + layout_checksum %= 0xffff; + + if (cmos_entry.config == 'v') { + if (cmos_entry.length != 16) { + fprintf(stderr, + "%s: version is not 16-bit long.\n", prog_name); + exit(1); + } + version_bit = cmos_entry.bit; + break; + } try_add_layout_file_entry(&cmos_entry); break; } @@ -625,6 +675,10 @@ static void create_entry(cmos_entry_t * cmos_entry, cmos_entry->config = CMOS_ENTRY_HEX; break;
+ case 'v': + cmos_entry->config = CMOS_ENTRY_VERSION; + break; + case 's': cmos_entry->config = CMOS_ENTRY_STRING; break; @@ -853,6 +907,9 @@ static char cmos_entry_char_value(cmos_entry_config_t config) case CMOS_ENTRY_HEX: return 'h';
+ case CMOS_ENTRY_VERSION: + return 'v'; + case CMOS_ENTRY_RESERVED: return 'r';
diff --git a/util/nvramtool/cli/nvramtool.c b/util/nvramtool/cli/nvramtool.c index d5acc58..d2f833a 100644 --- a/util/nvramtool/cli/nvramtool.c +++ b/util/nvramtool/cli/nvramtool.c @@ -522,7 +522,8 @@ static int list_one_param(const char name[], int show_name) exit(1); }
- if (e->config == CMOS_ENTRY_RESERVED) { + if (e->config == CMOS_ENTRY_RESERVED + || e->config == CMOS_ENTRY_VERSION) { fprintf(stderr, "%s: Parameter %s is reserved.\n", prog_name, name); exit(1); @@ -546,6 +547,7 @@ static int list_all_params(void)
for (e = first_cmos_entry(); e != NULL; e = next_cmos_entry(e)) { if ((e->config == CMOS_ENTRY_RESERVED) + || (e->config == CMOS_ENTRY_VERSION) || is_checksum_name(e->name)) continue;
@@ -591,6 +593,7 @@ static void list_param_enums(const char name[]) break;
case CMOS_ENTRY_RESERVED: + case CMOS_ENTRY_VERSION: printf("Parameter %s is reserved.\n", name); break;
@@ -611,8 +614,8 @@ static void list_param_enums(const char name[]) ****************************************************************************/ static void set_one_param(const char name[], const char value[]) { - const cmos_entry_t *e; - unsigned long long n; + const cmos_entry_t *e, *ev; + unsigned long long n, nv;
if (is_checksum_name(name) || (e = find_cmos_entry(name)) == NULL) { fprintf(stderr, "%s: CMOS parameter %s not found.", prog_name, @@ -686,9 +689,18 @@ static void set_one_param(const char name[], const char value[]) goto fail; }
+ if ((ev = find_cmos_entry("version")) == NULL) { + fprintf(stderr, "%s: CMOS parameter %s not found.", prog_name, + "version"); + exit(1); + } + + prepare_cmos_write(ev, 0, &nv); + /* write the value to nonvolatile RAM */ set_iopl(3); cmos_write(e, n); + cmos_write(ev, nv); cmos_checksum_write(cmos_checksum_compute()); set_iopl(0); return; diff --git a/util/nvramtool/cmos_ops.c b/util/nvramtool/cmos_ops.c index 91c9f45..e20b24c 100644 --- a/util/nvramtool/cmos_ops.c +++ b/util/nvramtool/cmos_ops.c @@ -71,6 +71,7 @@ int prepare_cmos_read(const cmos_entry_t * e) switch (e->config) { case CMOS_ENTRY_ENUM: case CMOS_ENTRY_HEX: + case CMOS_ENTRY_VERSION: case CMOS_ENTRY_STRING: break;
@@ -141,6 +142,9 @@ int prepare_cmos_write(const cmos_entry_t * e, const char value_str[], return CMOS_OP_NEGATIVE_INT;
break; + case CMOS_ENTRY_VERSION: + out = e->config_id; + break;
case CMOS_ENTRY_STRING: if (e->length < (8 * strlen(value_str))) diff --git a/util/nvramtool/input_file.c b/util/nvramtool/input_file.c index 1520930..6ce2c5b 100644 --- a/util/nvramtool/input_file.c +++ b/util/nvramtool/input_file.c @@ -157,6 +157,14 @@ cmos_write_t *process_input_file(FILE * f) void do_cmos_writes(cmos_write_t * list) { cmos_write_t *item; + const cmos_entry_t *ev; + + ev = find_cmos_entry("version"); + if (ev == NULL) { + fprintf(stderr, "%s: CMOS parameter %s not found.", prog_name, + "version"); + exit(1); + }
set_iopl(3);
@@ -171,6 +179,7 @@ void do_cmos_writes(cmos_write_t * list) free(item); }
+ cmos_write(ev, ev->config_id); cmos_checksum_write(cmos_checksum_compute()); set_iopl(0); } diff --git a/util/nvramtool/layout.c b/util/nvramtool/layout.c index f543d12..1872e2c 100644 --- a/util/nvramtool/layout.c +++ b/util/nvramtool/layout.c @@ -53,6 +53,7 @@ static int entries_overlap(const cmos_entry_t * p, const cmos_entry_t * q); static const cmos_enum_item_t *find_first_cmos_enum_id(unsigned config_id);
const char checksum_param_name[] = "check_sum"; +const char version_param_name[] = "version";
/* Newer versions of coreboot store the 3 pieces of information below in the * coreboot table so we don't have to rely on hardcoded values. @@ -424,11 +425,12 @@ const cmos_enum_t *next_cmos_enum_id(const cmos_enum_t * last) * is_checksum_name * * Return 1 if 'name' matches the name of the parameter representing the CMOS - * checksum. Else return 0. + * checksum or version. Else return 0. ****************************************************************************/ int is_checksum_name(const char name[]) { - return !strcmp(name, checksum_param_name); + return !strcmp(name, checksum_param_name) + && !strcmp(name, version_param_name); }
/**************************************************************************** diff --git a/util/nvramtool/layout.h b/util/nvramtool/layout.h index 082c31b..b4e6d6e 100644 --- a/util/nvramtool/layout.h +++ b/util/nvramtool/layout.h @@ -50,6 +50,7 @@ typedef enum { CMOS_ENTRY_HEX = 'h', CMOS_ENTRY_STRING = 's', CMOS_ENTRY_RESERVED = 'r', + CMOS_ENTRY_VERSION = 'v', } cmos_entry_config_t;
/* This represents a CMOS parameter. */ diff --git a/util/nvramtool/lbtable.c b/util/nvramtool/lbtable.c index 5f1f22d..60f8b44 100644 --- a/util/nvramtool/lbtable.c +++ b/util/nvramtool/lbtable.c @@ -775,6 +775,10 @@ static void print_option_record(const struct cmos_entries *cmos_entry) strcpy(s, "HEX"); break;
+ case 'v': + strcpy(s, "VERSION"); + break; + case 'r': strcpy(s, "RESERVED"); break;