This patch series implements hypervisor core collection when running under linux as root (aka dom0). By default initial hypervisor ram is already mapped into linux as reserved. Further any ram deposited comes from linux direct map. The hypervisor locks all that ram to protect it from dom0 or any other domains. At a high level, the methodology involes devirtualizing the system on the fly upon either linux crash or the hypervisor crash, then collecting ram as usual. This means hypervisor ram is automatically collected into the vmcore.
Hypervisor pages are then accessible via crash command (using raw mem dump) or windbg which has the ability to read hypervisor symbol pdb file. Mukesh Rathor (6): x86/hyperv: Rename guest shutdown functions Hyper-V: Add two new hypercall numbers to guest ABI public header Hyper-V: Add definitions for hypervisor crash dump support x86/hyperv: Add trampoline asm code to transition from hypervisor x86/hyperv: Implement hypervisor ram collection into vmcore Hyper-V: Enable build of hypervisor crash collection files arch/x86/hyperv/Makefile | 6 + arch/x86/hyperv/hv_crash.c | 618 ++++++++++++++++++++++++++++++++ arch/x86/hyperv/hv_init.c | 2 + arch/x86/hyperv/hv_trampoline.S | 99 +++++ arch/x86/kernel/cpu/mshyperv.c | 5 +- include/asm-generic/mshyperv.h | 9 + include/hyperv/hvgdk_mini.h | 2 + include/hyperv/hvhdk_mini.h | 55 +++ 8 files changed, 794 insertions(+), 2 deletions(-) create mode 100644 arch/x86/hyperv/hv_crash.c create mode 100644 arch/x86/hyperv/hv_trampoline.S -- 2.36.1.vfs.0.0