Author: jhb Date: Thu Jul 21 20:43:43 2011 New Revision: 224254 URL: http://svn.freebsd.org/changeset/base/224254
Log: Allow non-fixed endpoints for a producer address range if the length of the resource covers the entire range. Some BIOSes appear to mark endpoints as non-fixed incorrectly (non-fixed endpoints are supposed to be used in _PRS when OSPM is allowed to allocate a certain chunk of address space within a larger range, I don't believe it is supposed to be used for _CRS). Approved by: re (kib) Modified: head/sys/dev/acpica/acpi_pcib_acpi.c Modified: head/sys/dev/acpica/acpi_pcib_acpi.c ============================================================================== --- head/sys/dev/acpica/acpi_pcib_acpi.c Thu Jul 21 20:06:14 2011 (r224253) +++ head/sys/dev/acpica/acpi_pcib_acpi.c Thu Jul 21 20:43:43 2011 (r224254) @@ -207,9 +207,11 @@ acpi_pcib_producer_handler(ACPI_RESOURCE length = res->Data.ExtAddress64.AddressLength; break; } - if (length == 0 || - res->Data.Address.MinAddressFixed != ACPI_ADDRESS_FIXED || - res->Data.Address.MaxAddressFixed != ACPI_ADDRESS_FIXED) + if (length == 0) + break; + if (min + length - 1 != max && + (res->Data.Address.MinAddressFixed != ACPI_ADDRESS_FIXED || + res->Data.Address.MaxAddressFixed != ACPI_ADDRESS_FIXED)) break; flags = 0; switch (res->Data.Address.ResourceType) { _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"