projects
/
coreboot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix CMOS checksum calculation in libpayload.
[coreboot.git]
/
payloads
/
libpayload
/
drivers
/
options.c
diff --git
a/payloads/libpayload/drivers/options.c
b/payloads/libpayload/drivers/options.c
index fdb4be34bbc6d48b70e7a1da42a2bcc91b81e777..394c7920ec99fb4621cc92d479f58478b632ff0c 100644
(file)
--- a/
payloads/libpayload/drivers/options.c
+++ b/
payloads/libpayload/drivers/options.c
@@
-41,7
+41,6
@@
static int options_checksum_valid(void)
for(i = range_start; i <= range_end; i++) {
checksum += nvram_read(i);
}
for(i = range_start; i <= range_end; i++) {
checksum += nvram_read(i);
}
- checksum = (~checksum)&0xffff;
checksum_old = ((nvram_read(checksum_location)<<8) | nvram_read(checksum_location+1));
checksum_old = ((nvram_read(checksum_location)<<8) | nvram_read(checksum_location+1));
@@
-59,7
+58,6
@@
void fix_options_checksum(void)
for(i = range_start; i <= range_end; i++) {
checksum += nvram_read(i);
}
for(i = range_start; i <= range_end; i++) {
checksum += nvram_read(i);
}
- checksum = (~checksum)&0xffff;
nvram_write((checksum >> 8), checksum_location);
nvram_write((checksum & 0xff), checksum_location + 1);
nvram_write((checksum >> 8), checksum_location);
nvram_write((checksum & 0xff), checksum_location + 1);