summaryrefslogtreecommitdiffstats
path: root/sys/boot/ia64
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2006-11-03 04:04:19 +0000
committermarcel <marcel@FreeBSD.org>2006-11-03 04:04:19 +0000
commit6ca4cb8feac0efeb113904e6e6aaa909b04a53ee (patch)
treef0ffd1071cb92bb048b264c0c4da47195d630dbb /sys/boot/ia64
parentea4ce366c75ac19398d5c72a7d67235e21730a39 (diff)
downloadFreeBSD-src-6ca4cb8feac0efeb113904e6e6aaa909b04a53ee.zip
FreeBSD-src-6ca4cb8feac0efeb113904e6e6aaa909b04a53ee.tar.gz
Properly calculate the checksum of the APIC table.
Diffstat (limited to 'sys/boot/ia64')
-rw-r--r--sys/boot/ia64/ski/acpi_stub.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/boot/ia64/ski/acpi_stub.c b/sys/boot/ia64/ski/acpi_stub.c
index caebc7b..9b51e2f 100644
--- a/sys/boot/ia64/ski/acpi_stub.c
+++ b/sys/boot/ia64/ski/acpi_stub.c
@@ -70,7 +70,7 @@ struct {
APIC_SIG, /* Signature. */
sizeof(apic), /* Length of table. */
0, /* ACPI minor revision. */
- 0, /* XXX checksum. */
+ 0, /* Checksum. */
"FBSD", /* OEM Id. */
"SKI", /* OEM table Id. */
0, /* OEM revision. */
@@ -177,6 +177,7 @@ acpi_stub_init(void)
cksum(&acpi_root, 20, &acpi_root.Checksum);
cksum(&acpi_root, sizeof(acpi_root), &acpi_root.ExtendedChecksum);
+ cksum(&apic, sizeof(apic), &apic.Header.Checksum);
xsdt.apic_tbl = (UINT32)&apic;
cksum(&xsdt, sizeof(xsdt), &xsdt.Header.Checksum);
}
OpenPOWER on IntegriCloud