linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/3] arm64: hibernate: idmap the single page that holds the copy page routines
@ 2020-01-15 14:33 James Morse
  2020-01-15 14:33 ` [RFC PATCH 1/3] arm64: mm: Always update TCR_EL1 from __cpu_set_tcr_t0sz() James Morse
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: James Morse @ 2020-01-15 14:33 UTC (permalink / raw)
  To: Pavel Tatashin; +Cc: linux-arm-kernel

Hello,

Pavel T wants the kexec memory-copy to happen with the MMU on to take
advantage of the caches. Hibernate pulls some tricks in this area
which should be re-used.

Kexec needs to turn the MMU off once its done, which needs to be
done from the idmap. Hibernate's memory-copy code doesn't have this
requirement, lets pretend we do.

These patches are an RFC as I don't think they make sense on their
own. The CC list is short for the same reason.


This series adds another idmap that is created during resume from
hibernate. Forcing the T0SZ up to at least 48 bits means this path
can be tested on a 4K/39 or 64K/42 configuration.

Kexec should be able to re-use his to map its copy routines low,
using a 'safe' copy of the linear map in TTBR1.

Tested on Juno and Seattle's magic 4K/39 configuration.
I haven't been able to test this with the models 52bit PA support,
but would be able to test it through kexec.


Thanks,

James Morse (3):
  arm64: mm: Always update TCR_EL1 from __cpu_set_tcr_t0sz()
  arm64: hibernate: Split create_safe_exec_page() and its mapping code
  arm64: hibernate: idmap the single page that holds the copy page
    routines

 arch/arm64/include/asm/mmu_context.h |   7 +-
 arch/arm64/kernel/hibernate.c        | 146 ++++++++++++++-------------
 2 files changed, 77 insertions(+), 76 deletions(-)

-- 
2.24.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-03-25 17:08 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-15 14:33 [RFC PATCH 0/3] arm64: hibernate: idmap the single page that holds the copy page routines James Morse
2020-01-15 14:33 ` [RFC PATCH 1/3] arm64: mm: Always update TCR_EL1 from __cpu_set_tcr_t0sz() James Morse
2020-01-15 14:33 ` [RFC PATCH 2/3] arm64: hibernate: Split create_safe_exec_page() and its mapping code James Morse
2020-01-15 14:33 ` [RFC PATCH 3/3] arm64: hibernate: idmap the single page that holds the copy page routines James Morse
2020-03-20 21:22   ` Pavel Tatashin
2020-03-25  9:58     ` James Morse
2020-03-25 13:29       ` Pavel Tatashin
2020-03-25 13:41         ` Pavel Tatashin
2020-03-25 17:08         ` James Morse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).