mirror of
https://github.com/torvalds/linux.git
synced 2024-10-24 22:20:55 +00:00
x86/ACPI: Preserve ACPI-table override during hibernation
When overriding NHLT ACPI-table tests show that on some platforms there is problem that NHLT contains garbage after hibernation/resume cycle. Problem stems from the fact that ACPI override performs early memory allocation using memblock_phys_alloc_range() in memblock_phys_alloc_range(). This memory block is later being marked as ACPI memory block in arch_reserve_mem_area(). Later when memory areas are considered for hibernation it is being marked as nosave in e820__register_nosave_regions(). Fix this by marking ACPI override memory area as ACPI NVS (Non-Volatile-Sleeping), which according to specification needs to be saved on entering S4 and restored when leaving and is implemented as such in kernel. Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
467df4cfdc
commit
84958f38d8
|
@ -1772,7 +1772,7 @@ int __acpi_release_global_lock(unsigned int *lock)
|
|||
|
||||
void __init arch_reserve_mem_area(acpi_physical_address addr, size_t size)
|
||||
{
|
||||
e820__range_add(addr, size, E820_TYPE_ACPI);
|
||||
e820__range_add(addr, size, E820_TYPE_NVS);
|
||||
e820__update_table_print();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user