Intel DP45SG motherboard problem (amd64)

John Baldwin jhb at freebsd.org
Fri Feb 26 22:00:11 UTC 2010


On Thursday 25 February 2010 11:18:08 am Andriy Gapon wrote:
> on 25/02/2010 15:02 John Baldwin said the following:
> > Hmm, the checksum for the XSDT is bad.  You can try hacking
> > src/usr.sbin/acpi/acpidump/acpi.c to disable the checksum check for the XSDT.
> > Just look for the 'XSDT is corrupted' string in that source file and comment
> > out the call to acpi_checksum().  Something like this:
> > 
> > 		rsdp = (ACPI_TABLE_HEADER *)acpi_map_sdt(rp->XsdtPhysicalAddress);
> > 		if (memcmp(rsdp->Signature, "XSDT", 4) != 0 /* ||
> > 		    acpi_checksum(rsdp, rsdp->Length) != 0 */)
> > 			errx(1, "XSDT is corrupted");
> > 		addr_size = sizeof(uint64_t);
> > 
> > Then see if acpidump -d -t gets any further.  I would also look for a BIOS
> > update perhaps, and/or complain to your motherboard vendor that their BIOS is
> > broken.
> 
> BTW, I googled for 'DP45SG XSDT' and addition to this thread it turned up some
> linux boot logs with complaints about invalid XSDT checksums.
> But linux seems to be more forgiving, it's just a warning.
> E.g. see here (search for XSDT):
> http://bugs.gentoo.org/attachment.cgi?id=201949&action=view

Actually, it looks like ACPICA changed to be less forgiving.  In the forum
post below, 6.4 is booted on one of these machines and generates similar
warnings about the XSDT checksum being wrong, but still uses ACPI:

http://forums.freebsd.org/archive/index.php/t-4682.html

Hmm, in theory we set a value in acconfig.h to false to only warn about bad
checksums but not error, but that seems to not be working.

-- 
John Baldwin


More information about the freebsd-hardware mailing list