If the XSDT address in the RSDP for an ACPI 2.0 machine is NULL, then fall
back to using the RSDT instead. ACPI-CA already follows this same strategy as a workaround for yet another instance of brain-damaged BIOS writers. PR: i386/93963 Submitted by: Masayuki FUKUI <fukui.FreeBSD@fanet.net>
This commit is contained in:
parent
b0d9b0dc3b
commit
3718b3713e
@ -219,11 +219,12 @@ madt_probe(void)
|
||||
}
|
||||
|
||||
/*
|
||||
* For ACPI < 2.0, use the RSDT. For ACPI >= 2.0, use the XSDT.
|
||||
* We map the XSDT and RSDT at page 1 in the crashdump area.
|
||||
* Page 0 is used to map in the headers of candidate ACPI tables.
|
||||
* For ACPI >= 2.0, use the XSDT if it is available.
|
||||
* Otherwise, use the RSDT. We map the XSDT or RSDT at page 1
|
||||
* in the crashdump area. Page 0 is used to map in the
|
||||
* headers of candidate ACPI tables.
|
||||
*/
|
||||
if (rsdp->Revision >= 2) {
|
||||
if (rsdp->Revision >= 2 && rsdp->XsdtPhysicalAddress != 0) {
|
||||
/*
|
||||
* AcpiOsGetRootPointer only verifies the checksum for
|
||||
* the version 1.0 portion of the RSDP. Version 2.0 has
|
||||
|
@ -219,11 +219,12 @@ madt_probe(void)
|
||||
}
|
||||
|
||||
/*
|
||||
* For ACPI < 2.0, use the RSDT. For ACPI >= 2.0, use the XSDT.
|
||||
* We map the XSDT and RSDT at page 1 in the crashdump area.
|
||||
* Page 0 is used to map in the headers of candidate ACPI tables.
|
||||
* For ACPI >= 2.0, use the XSDT if it is available.
|
||||
* Otherwise, use the RSDT. We map the XSDT or RSDT at page 1
|
||||
* in the crashdump area. Page 0 is used to map in the
|
||||
* headers of candidate ACPI tables.
|
||||
*/
|
||||
if (rsdp->Revision >= 2) {
|
||||
if (rsdp->Revision >= 2 && rsdp->XsdtPhysicalAddress != 0) {
|
||||
/*
|
||||
* AcpiOsGetRootPointer only verifies the checksum for
|
||||
* the version 1.0 portion of the RSDP. Version 2.0 has
|
||||
|
Loading…
x
Reference in New Issue
Block a user