linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mukesh Rathor <mrathor@linux.microsoft.com>
To: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arch@vger.kernel.org
Cc: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
	decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com,
	bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org,
	hpa@zytor.com, arnd@arndb.de
Subject: [PATCH v2 0/6] Hyper-V: Implement hypervisor core collection
Date: Tue, 23 Sep 2025 14:46:03 -0700	[thread overview]
Message-ID: <20250923214609.4101554-1-mrathor@linux.microsoft.com> (raw)

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 memory heap. 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 core as usual. This means
hypervisor RAM is automatically collected into the vmcore.
Devirtualization is the process of disabling the hypervisor and 
taking control of the system.

Hypervisor pages are then accessible via crash command (using raw mem
dump) or windbg which has the ability to read hypervisor pdb symbol
file.

V2:
 o change few comments and commit-messages
 o add support for panic_timeout for better support if kdump kernel
   is not loaded.
 o some other minor changes, like change devirt_cr3arg to devirt_arg,
   int to bool. 

V1:
 o Describe changes in imperative mood. Remove "This commit"
 o Remove pr_emerg: causing unnecessary review noise
 o Add missing kexec_crash_loaded()
 o Remove leftover unnecessary memcpy in hv_crash_setup_trampdata
 o Address objtool warnings via annotations

Mukesh Rathor (6):
  x86/hyperv: Rename guest crash shutdown function
  hyperv: Add two new hypercall numbers to guest ABI public header
  hyperv: 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
  x86/hyperv: Enable build of hypervisor crashdump collection files

 arch/x86/hyperv/Makefile        |   6 +
 arch/x86/hyperv/hv_crash.c      | 647 ++++++++++++++++++++++++++++++++
 arch/x86/hyperv/hv_init.c       |   1 +
 arch/x86/hyperv/hv_trampoline.S | 101 +++++
 arch/x86/include/asm/mshyperv.h |  13 +
 arch/x86/kernel/cpu/mshyperv.c  |   5 +-
 include/asm-generic/mshyperv.h  |   1 -
 include/hyperv/hvgdk_mini.h     |   2 +
 include/hyperv/hvhdk_mini.h     |  55 +++
 9 files changed, 828 insertions(+), 3 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


             reply	other threads:[~2025-09-23 21:46 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-23 21:46 Mukesh Rathor [this message]
2025-09-23 21:46 ` [PATCH v2 1/6] x86/hyperv: Rename guest crash shutdown function Mukesh Rathor
2025-09-23 21:46 ` [PATCH v2 2/6] hyperv: Add two new hypercall numbers to guest ABI public header Mukesh Rathor
2025-09-23 21:46 ` [PATCH v2 3/6] hyperv: Add definitions for hypervisor crash dump support Mukesh Rathor
2025-09-23 21:46 ` [PATCH v2 4/6] x86/hyperv: Add trampoline asm code to transition from hypervisor Mukesh Rathor
2025-10-01  6:00   ` Wei Liu
2025-10-01 21:07     ` Mukesh R
2025-09-23 21:46 ` [PATCH v2 5/6] x86/hyperv: Implement hypervisor RAM collection into vmcore Mukesh Rathor
2025-10-02 21:42   ` Wei Liu
2025-10-02 22:07     ` Mukesh R
2025-09-23 21:46 ` [PATCH v2 6/6] x86/hyperv: Enable build of hypervisor crashdump collection files Mukesh Rathor
2025-09-24 17:07   ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250923214609.4101554-1-mrathor@linux.microsoft.com \
    --to=mrathor@linux.microsoft.com \
    --cc=arnd@arndb.de \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=decui@microsoft.com \
    --cc=haiyangz@microsoft.com \
    --cc=hpa@zytor.com \
    --cc=kys@microsoft.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-hyperv@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=wei.liu@kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).