Only check the ProducerConsumer flag on extended memory. As per the ACPI

6.0 spec 6.4.3.5 bit 0 is ignored on QWord, DWord, and Word Address Space
Descriptors, but not Extended Address Space Descriptors.

Reviewed by:	jhb
Sponsored by:	DARPA, AFRL
Sponsored by:	Cavium (Hardware)
Differential Revision:	https://reviews.freebsd.org/D14516
This commit is contained in:
Andrew Turner 2018-02-28 15:18:31 +00:00
parent 6f7527f0b7
commit 3d9294b0a1

View File

@ -342,7 +342,8 @@ acpi_parse_resource(ACPI_RESOURCE *res, void *context)
}
if (length <= 0)
break;
if (res->Data.Address.ProducerConsumer != ACPI_CONSUMER) {
if (res->Type == ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64 &&
res->Data.Address.ProducerConsumer != ACPI_CONSUMER) {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
"ignored %s %s producer\n", name,
acpi_address_range_name(res->Data.Address.ResourceType)));