summaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/asm-offsets.c
diff options
context:
space:
mode:
authorJames Morse2016-04-27 18:47:11 +0200
committerWill Deacon2016-04-28 14:35:48 +0200
commitf6cf0545ec697ddc278b7457b7d0c0d86a2ea88e (patch)
tree831a5fae14f6bd23cdb0ea97526cc4fc00164a4d /arch/arm64/kernel/asm-offsets.c
parentarm64: Add new asm macro copy_page (diff)
downloadkernel-qcow2-linux-f6cf0545ec697ddc278b7457b7d0c0d86a2ea88e.tar.gz
kernel-qcow2-linux-f6cf0545ec697ddc278b7457b7d0c0d86a2ea88e.tar.xz
kernel-qcow2-linux-f6cf0545ec697ddc278b7457b7d0c0d86a2ea88e.zip
PM / Hibernate: Call flush_icache_range() on pages restored in-place
Some architectures require code written to memory as if it were data to be 'cleaned' from any data caches before the processor can fetch them as new instructions. During resume from hibernate, the snapshot code copies some pages directly, meaning these architectures do not get a chance to perform their cache maintenance. Modify the read and decompress code to call flush_icache_range() on all pages that are restored, so that the restored in-place pages are guaranteed to be executable on these architectures. Signed-off-by: James Morse <james.morse@arm.com> Acked-by: Pavel Machek <pavel@ucw.cz> Acked-by: Rafael J. Wysocki <rjw@rjwysocki.net> Acked-by: Catalin Marinas <catalin.marinas@arm.com> [will: make clean_pages_on_* static and remove initialisers] Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/kernel/asm-offsets.c')
0 files changed, 0 insertions, 0 deletions