Previously this series was two separate series: * Arch section support Adds the possibility for arch code to add custom section data.
* s390 PV dump support Adds PV dump data to the custom arch sections. I've chosen to merge them so it's easier to understand why the arch section support has been implement the way it is. Additionally I've added cleanup patches beforehand which clean up the GuestPhysBlock usage. v5: * Added a patch that moves the DumpState typedef and replaces the opaque pointers with properly typed ones * Removed the ELF header allocation since the codes has changed in a way that it's not needed anymore * Changed naming of dump_get_memblock_*() to dump_filter_memblock_*() * Removed various inline functions * Added a re-work of the filter variables v4: * Moved the ELF note type introduction to the header sync * Split the iteration re-work into more patches * Added missing Rev-bys * Moved the introduction of section_offset to the patch where it's first used * Removed the buffer from prepare_elf_section_hdr_zero() * Removed buff argument from prepare_elf_section_hdr_zero() * Renamed some of the pv functions Janosch Frank (18): dump: Replace opaque DumpState pointer with a typed one dump: Rename write_elf_loads to write_elf_phdr_loads dump: Refactor dump_iterate and introduce dump_filter_memblock_*() dump: Rework get_start_block dump: Rework filter area variables dump: Rework dump_calculate_size function dump: Split elf header functions into prepare and write dump: Rename write_elf*_phdr_note to prepare_elf*_phdr_note dump: Use a buffer for ELF section data and headers dump: Reorder struct DumpState dump: Swap segment and section header locations dump/dump: Add section string table support dump/dump: Add arch section support DRAFT: linux header sync s390x: Add protected dump cap s390x: Introduce PV query interface s390x: Add KVM PV dump interface s390x: pv: Add dump support dump/dump.c | 541 +++++++++++++++++++++---------- hw/s390x/pv.c | 112 +++++++ hw/s390x/s390-virtio-ccw.c | 6 + include/elf.h | 2 + include/hw/core/sysemu-cpu-ops.h | 8 +- include/hw/s390x/pv.h | 18 + include/qemu/typedefs.h | 1 + include/sysemu/dump-arch.h | 3 + include/sysemu/dump.h | 36 +- linux-headers/linux/kvm.h | 54 +++ target/arm/arch_dump.c | 6 +- target/arm/cpu.h | 4 +- target/i386/arch_dump.c | 30 +- target/i386/cpu.h | 8 +- target/ppc/arch_dump.c | 18 +- target/ppc/cpu.h | 4 +- target/riscv/arch_dump.c | 6 +- target/riscv/cpu.h | 4 +- target/s390x/arch_dump.c | 250 ++++++++++++-- target/s390x/kvm/kvm.c | 7 + target/s390x/kvm/kvm_s390x.h | 1 + target/s390x/s390x-internal.h | 2 +- 22 files changed, 858 insertions(+), 263 deletions(-) -- 2.34.1