summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksii Kurochko <oleksii.kurochko@gmail.com>2018-04-20 15:38:57 +0300
committerPatrick Georgi <pgeorgi@google.com>2018-04-24 13:55:50 +0000
commit4886a6591bf5bc2d3a64f7486101556a29b1320d (patch)
treef8c284a464c58568bce3ac511c8ead13eaf5fee1
parent4e8adbc227fff4f849d0149f6ecba1ebf22b7463 (diff)
mainboard/emulation/qemu-i440fx/fw_cfg: fix checksum for ACPI tables
Current patch fixes problem with validation of ACPI in Linux kernel: ACPI BIOS Error (bug): A valid RSDP was not found (20180313/tbxfroot-210) 1. function acpi_checksum() returns u8, so seems that is not good idea to use write_le32(). 2. at least RSDP (https://wiki.osdev.org/RSDP#Validating_the_RSDP) has u8 checksum. Change-Id: I1fb29ef4e58982aab0c54b1f715c5658d2a663d8 Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> Reviewed-on: https://review.coreboot.org/25753 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
-rw-r--r--src/mainboard/emulation/qemu-i440fx/fw_cfg.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mainboard/emulation/qemu-i440fx/fw_cfg.c b/src/mainboard/emulation/qemu-i440fx/fw_cfg.c
index 4db148cdba..7e3337460d 100644
--- a/src/mainboard/emulation/qemu-i440fx/fw_cfg.c
+++ b/src/mainboard/emulation/qemu-i440fx/fw_cfg.c
@@ -294,7 +294,7 @@ unsigned long fw_cfg_acpi_tables(unsigned long start)
ptr = (uint8_t *)(addrs[dst] + s[i].cksum.offset);
cksum_data = (void *)(addrs[dst] + s[i].cksum.start);
cksum = acpi_checksum(cksum_data, s[i].cksum.length);
- write_le32(ptr, cksum);
+ write_le8(ptr, cksum);
break;
default: