Deleted Added
full compact
160c160,161
< ACPI_SIZE WindowSize;
---
> ACPI_SIZE MapLength;
> ACPI_SIZE PageBoundaryMapLength;
230,231c231,233
< * Don't attempt to map memory beyond the end of the region, and
< * constrain the maximum mapping size to something reasonable.
---
> * October 2009: Attempt to map from the requested address to the
> * end of the region. However, we will never map more than one
> * page, nor will we cross a page boundary.
233c235
< WindowSize = (ACPI_SIZE)
---
> MapLength = (ACPI_SIZE)
236c238,251
< if (WindowSize > ACPI_SYSMEM_REGION_WINDOW_SIZE)
---
> /*
> * If mapping the entire remaining portion of the region will cross
> * a page boundary, just map up to the page boundary, do not cross.
> * On some systems, crossing a page boundary while mapping regions
> * can cause warnings if the pages have different attributes
> * due to resource management.
> *
> * This has the added benefit of constraining a single mapping to
> * one page, which is similar to the original code that used a 4k
> * maximum window.
> */
> PageBoundaryMapLength =
> ACPI_ROUND_UP (Address, ACPI_DEFAULT_PAGE_SIZE) - Address;
> if (PageBoundaryMapLength == 0)
238c253
< WindowSize = ACPI_SYSMEM_REGION_WINDOW_SIZE;
---
> PageBoundaryMapLength = ACPI_DEFAULT_PAGE_SIZE;
240a256,260
> if (MapLength > PageBoundaryMapLength)
> {
> MapLength = PageBoundaryMapLength;
> }
>
244c264
< (ACPI_PHYSICAL_ADDRESS) Address, WindowSize);
---
> (ACPI_PHYSICAL_ADDRESS) Address, MapLength);
249c269
< ACPI_FORMAT_NATIVE_UINT (Address), (UINT32) WindowSize));
---
> ACPI_FORMAT_NATIVE_UINT (Address), (UINT32) MapLength));
257c277
< MemInfo->MappedLength = WindowSize;
---
> MemInfo->MappedLength = MapLength;