diff options
| author | James Morse <james.morse@arm.com> | 2018-07-19 10:55:14 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-08-07 15:56:05 -0700 |
| commit | 66859cc29f5259cf934dcfe1ec9ba8015d591ea9 (patch) | |
| tree | 40b6cbdcfc9bc63198e772b70425d36a20cc9c5d /include/linux/compiler-gcc.h | |
| parent | 8357b00fc7ddb84306a711547ea7f6cf91f8ef58 (diff) | |
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 da24eb1f3f9e2c7b75c5f8c40d8e48e2c4789596.
Change-Id: I862226802c9c726590c89e3d9e8062ed680309f3
Reported-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: James Morse <james.morse@arm.com>
Git-Commit: 5ebe3a44cc744d11cb60d8438106a9322b7c04dc
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Arun KS <arunks@codeaurora.org>
Diffstat (limited to 'include/linux/compiler-gcc.h')
0 files changed, 0 insertions, 0 deletions
