arm64: Make kexec_file_load honor iomem reservations
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest5 patches 6 repliesIn review
- v14 patches 6 repliesSuperseded
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | arm64: kexec_file: Forbid non-crash kernelsarch/ | +20 | 3 replies | |
| 2/5 | kexec_file: Make locate_mem_hole_callback globalinclude/ kernel/ | +4 | 0 replies | |
| 3/5 | kernel/resource: Allow find_next_iomem_res() to exclude overlapping child resourceskernel/ | +58 | 0 replies | |
| 4/5 | kernel/resource: Introduce walk_system_ram_excluding_child_res()include/ kernel/ | +18 | 0 replies | |
| 5/5 | arm64: kexec_image: Restore full kexec functionnalityarch/ | +25 | 0 replies |
Reviews trailers per patch
All 5 patches have a Reviewed-by or Acked-by.
| Patch | Catalin Marinas | Ard Biesheuvel |
|---|---|---|
| 1/5 | A-b | |
| 2/5 | A-b | R-b |
| 3/5 | A-b | R-b |
| 4/5 | A-b | R-b |
| 5/5 | A-b | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v2 0/5] arm64: Make kexec_file_load honor iomem reservations
This series is a complete departure from the approach I initially sent almost a month ago[0]. Instead of trying to teach EFI, ACPI and other subsystem to use memblock, I've decided to stick with the iomem resource tree and use that exclusively for arm64.
This means that my current approach is (despite what I initially replied to both Dave and Catalin) to provide an arm64-specific implementation of arch_kexec_locate_mem_hole() which walks the resource tree and excludes ranges of RAM that have been registered for any odd purpose. This is exactly what the userspace implementation does, and I don't really see a good reason to diverge from it.
Again, this allows my Synquacer board to reliably use kexec_file_load with as little as 256M, something that would always fail before as it would overwrite most of the reserved tables.
Although this series still targets 5.14, the initial patch is a -stable candidate, and disables non-kdump uses of kexec_file_load. I have limited it to 5.10, as earlier kernels will require a different, probably more invasive approach.
Catalin, Ard: although this series has changed a bit compared to v1, I've kept your AB/RB tags. Should anything seem odd, please let me know and I'll drop them.
Thanks,
M.
* From v1 [1]:
- Move the overlap exclusion into find_next_iomem_res()
- Handle child resource not overlapping with parent
- Provide walk_system_ram_excluding_child_res() as a top level walker
- Simplify arch-specific code
- Add initial patch disabling non-crash kernels
[0] https://lore.kernel.org/r/[email protected]
[1] https://lore.kernel.org/r/[email protected]
Marc Zyngier (5):
arm64: kexec_file: Forbid non-crash kernels
kexec_file: Make locate_mem_hole_callback global kernel/resource: Allow find_next_iomem_res() to exclude overlapping
child resources
kernel/resource: Introduce walk_system_ram_excluding_child_res()
arm64: kexec_image: Restore full kexec functionnality
arch/arm64/kernel/kexec_image.c | 39 ++++++++++++++++ include/linux/ioport.h | 3 ++ include/linux/kexec.h | 1 + kernel/kexec_file.c | 6 +-- kernel/resource.c | 82 +++++++++++++++++++++++++++++---- 5 files changed, 119 insertions(+), 12 deletions(-)
Signature · 7 lines
2.30.2 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec