- /*
- * 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.
- */
- page_boundary_map_length = (acpi_size)
- (ACPI_ROUND_UP(address, ACPI_DEFAULT_PAGE_SIZE) - address);
- if (page_boundary_map_length == 0) {
- page_boundary_map_length = ACPI_DEFAULT_PAGE_SIZE;
- }
-
- if (map_length > page_boundary_map_length) {
- map_length = page_boundary_map_length;
+ if (map_length > ACPI_DEFAULT_PAGE_SIZE) {
+ map_length = ACPI_DEFAULT_PAGE_SIZE;
}
/* Create a new mapping starting at the address given */
--
2.34.1
Save the below as a patch file and then apply using "patch -p1 < FILE". Build your kernel and see if it has helped.
diff --git a/drivers/ acpi/acpica/ exregion. c b/drivers/ acpi/acpica/ exregion. c .ca060ec6936e 100644 acpi/acpica/ exregion. c acpi/acpica/ exregion. c system_ memory_ space_handler( u32 function, map_length; NT_NOT_ SUPPORTED system_ memory_ space_handler( u32 function,
((mem_info- >address + mem_info->length) - address);
index 8907b8bf4267.
--- a/drivers/
+++ b/drivers/
@@ -44,7 +44,6 @@ acpi_ex_
struct acpi_mem_mapping *mm = mem_info->cur_mm;
u32 length;
acpi_size map_length;
- acpi_size page_boundary_
#ifdef ACPI_MISALIGNME
u32 remainder;
#endif
@@ -138,25 +137,8 @@ acpi_ex_
map_length = (acpi_size)
- /* map_length = (acpi_size) UP(address, ACPI_DEFAULT_ PAGE_SIZE) - address); map_length == 0) { map_length = ACPI_DEFAULT_ PAGE_SIZE; map_length) { map_length; PAGE_SIZE) { PAGE_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.
- */
- page_boundary_
- (ACPI_ROUND_
- if (page_boundary_
- page_boundary_
- }
-
- if (map_length > page_boundary_
- map_length = page_boundary_
+ if (map_length > ACPI_DEFAULT_
+ map_length = ACPI_DEFAULT_
}
/* Create a new mapping starting at the address given */
--
2.34.1