RFC kexec: arm64: purgatory: cache support
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 RFC Latest2 patches 6 repliesIn review
- v1 RFC3 patches 7 repliesSuperseded
Changes in v2 from the cover letter
There had been many changes, I would say rather that code has been reimplemented. I am listing some of the significant changes here:
-- By default D-cache would be disabled now.
-- Most part of implementation has been moved from asm to c code. -- Proper synchronization barrier and tlb invalidation
-- Now we can have print during MMU enabled as well, since UART area is also identity mapped.
-- Supports 64K and 4K page table. If a HW supports 64K then it uses 64K page implementation, else it checks if 4K is supported and then uses 4K page table. 16K is not yet supported.
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/2 | arm64: Add enable/disable d-cache support for purgatorypurgatory/ purgatory/ purgatory/ +1 more | +646 | 4 replies | |
| 2/2 | arm64: Pass RAM boundary and enable-dcache flag to purgatorykexec/ kexec/ kexec/ +2 more | +68 | 2 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.
Cover letter [PATCH RFC V2 0/2] kexec: arm64: purgatory: cache support
This patch series adds support to enable cache during sha-256 verification in purgatory. Until --enable-dcache is passed to kexec(), these patches does not affect existing purgatory functionality.
Patches have been tested with Seattle and Mustang for normal kexec and kdump. It took hardly a second to verify SHA256 when kernel and initramfs segment sizes were 0x01030000 and 0x01130000 respectively.
Patches are still being sent as RFC, because these are dependent on Geoff's kexec-tools patches. These patches along with other dependent patches are also available here:
https://github.com/pratyushanand/kexec-tools.git (HEAD commit 062475cf4f3f)
RFC V1 was here:
http://lists.infradead.org/pipermail/kexec/2015-May/013678.html
Changes since RFC V1:
There had been many changes, I would say rather that code has been reimplemented. I am listing some of the significant changes here:
-- By default D-cache would be disabled now.
-- Most part of implementation has been moved from asm to c code. -- Proper synchronization barrier and tlb invalidation
-- Now we can have print during MMU enabled as well, since UART area is also identity mapped.
-- Supports 64K and 4K page table. If a HW supports 64K then it uses 64K page implementation, else it checks if 4K is supported and then uses 4K page table. 16K is not yet supported.
Pratyush Anand (2):
arm64: Add enable/disable d-cache support for purgatory
arm64: Pass RAM boundary and enable-dcache flag to purgatory
kexec/arch/arm64/include/arch/options.h | 6 +- kexec/arch/arm64/include/types.h | 16 ++ kexec/arch/arm64/kexec-arm64.c | 24 ++- purgatory/arch/arm64/Makefile | 2 + purgatory/arch/arm64/cache-asm.S | 228 ++++++++++++++++++++++ purgatory/arch/arm64/cache.c | 333 ++++++++++++++++++++++++++++++++ purgatory/arch/arm64/cache.h | 83 ++++++++ purgatory/arch/arm64/entry.S | 15 ++ purgatory/arch/arm64/purgatory-arm64.c | 10 +- 9 files changed, 714 insertions(+), 3 deletions(-) create mode 100644 kexec/arch/arm64/include/types.h create mode 100644 purgatory/arch/arm64/cache-asm.S create mode 100644 purgatory/arch/arm64/cache.c create mode 100644 purgatory/arch/arm64/cache.h
Signature · 7 lines
2.5.0 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec