OpenCloudOS-Kernel/arch/arm64/mm
James Morse 5ebe3a44cc arm64: hibernate: Support DEBUG_PAGEALLOC
DEBUG_PAGEALLOC removes the valid bit of page table entries to prevent
any access to unallocated memory. Hibernate uses this as a hint that those
pages don't need to be saved/restored. This patch adds the
kernel_page_present() function it uses.

hibernate.c copies the resume kernel's linear map for use during restore.
Add _copy_pte() to fill-in the holes made by DEBUG_PAGEALLOC in the resume
kernel, so we can restore data the original kernel had at these addresses.

Finally, DEBUG_PAGEALLOC means the linear-map alias of KERNEL_START to
KERNEL_END may have holes in it, so we can't lazily clean this whole
area to the PoC. Only clean the new mmuoff region, and the kernel/kvm
idmaps.

This reverts commit da24eb1f3f.

Reported-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: James Morse <james.morse@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-08-25 18:00:30 +01:00
..
Makefile arm64, numa: Add NUMA support for arm64 platforms. 2016-04-15 18:06:09 +01:00
cache.S arm64: mm: convert __dma_* routines to use start, size 2016-08-22 10:00:48 +01:00
context.c arm64: update ASID limit 2016-06-21 20:10:18 +01:00
copypage.c arm64: Defer dcache flush in __cpu_copy_user_page 2015-12-17 11:07:13 +00:00
dma-mapping.c arm64: apply __ro_after_init to some objects 2016-08-22 12:32:29 +01:00
dump.c arm64: Fix shift warning in arch/arm64/mm/dump.c 2016-08-18 12:38:11 +01:00
extable.c arm64: switch to relative exception tables 2016-02-24 14:57:26 +00:00
fault.c arm64: Introduce execute-only page access permissions 2016-08-25 18:00:29 +01:00
flush.c arm64: mm: remove page_mapping check in __sync_icache_dcache 2016-06-21 20:10:18 +01:00
hugetlbpage.c Revert "arm64: hugetlb: partial revert of 66b3923a1a0f" 2016-05-31 11:00:09 +01:00
init.c arm64: apply __ro_after_init to some objects 2016-08-22 12:32:29 +01:00
ioremap.c arm64: add ioremap physical address information 2015-01-23 15:29:06 +00:00
kasan_init.c arm64: kasan: Fix zero shadow mapping overriding kernel image shadow 2016-03-11 11:03:35 +00:00
mm.h arm64: Move unflatten_device_tree() call earlier. 2016-04-15 18:06:08 +01:00
mmap.c arm64: mm: remove unnecessary EXPORT_SYMBOL_GPL 2016-05-05 09:49:38 +01:00
mmu.c arm64: apply __ro_after_init to some objects 2016-08-22 12:32:29 +01:00
numa.c arm64: Fix NUMA build error when !CONFIG_ACPI 2016-08-17 17:16:58 +01:00
pageattr.c arm64: hibernate: Support DEBUG_PAGEALLOC 2016-08-25 18:00:30 +01:00
pgd.c arm64: mm: move pgd_cache initialisation to pgtable_cache_init 2016-01-05 15:43:10 +00:00
proc.S arm64: vmlinux.ld: Add mmuoff data sections and move mmuoff text into idmap 2016-08-25 18:00:30 +01:00