qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Denis V. Lunev" <den@openvz.org>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Gleb Natapov <gleb@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-devel@nongnu.org, kvm@vger.kernel.org,
	Andrey Smetanin <asmetanin@virtuozzo.com>
Subject: Re: [Qemu-devel] [PATCH v3 0/9] HyperV equivalent of pvpanic driver
Date: Tue, 30 Jun 2015 15:38:20 +0300	[thread overview]
Message-ID: <55928DBC.2080100@openvz.org> (raw)
In-Reply-To: <20150630122619.GF14025@redhat.com>

On 30/06/15 15:26, Daniel P. Berrange wrote:
> On Tue, Jun 30, 2015 at 02:33:18PM +0300, Denis V. Lunev wrote:
>> Windows 2012 guests can notify hypervisor about occurred guest crash
>> (Windows bugcheck(BSOD)) by writing specific Hyper-V msrs. This patch does
>> handling of this MSR's by KVM and sending notification to user space that
>> allows to gather Windows guest crash dump by QEMU/LIBVIRT.
>>
>> The idea is to provide functionality equal to pvpanic device without
>> QEMU guest agent for Windows.
> That's nice - do you know if the Linux kernel (or any other non-Win2k12
> kernels) have support for notifying hypevisors via this Hyper-V msr,
> when running as a guest ?
>
> Regards,
> Daniel
Linux for sure is able to do that if configured to run
on top of Hyper-V

drivers/hv/vmbus_drv.c:
static int hyperv_panic_event(struct notifier_block *nb,
                         unsigned long event, void *ptr)
{
         struct pt_regs *regs;

         regs = current_pt_regs();

         wrmsrl(HV_X64_MSR_CRASH_P0, regs->ip);
         wrmsrl(HV_X64_MSR_CRASH_P1, regs->ax);
         wrmsrl(HV_X64_MSR_CRASH_P2, regs->bx);
         wrmsrl(HV_X64_MSR_CRASH_P3, regs->cx);
         wrmsrl(HV_X64_MSR_CRASH_P4, regs->dx);

         /*
          * Let Hyper-V know there is crash data available
          */
         wrmsrl(HV_X64_MSR_CRASH_CTL, HV_CRASH_CTL_CRASH_NOTIFY);
         return NOTIFY_DONE;
}

Regards,
     Den

  reply	other threads:[~2015-06-30 12:38 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-30 11:33 [Qemu-devel] [PATCH v3 0/9] HyperV equivalent of pvpanic driver Denis V. Lunev
2015-06-30 11:33 ` [Qemu-devel] [PATCH 1/9] kvm/x86: move Hyper-V MSR's/hypercall code into hyperv.c file Denis V. Lunev
2015-07-01  0:11   ` Peter Hornyack
2015-06-30 11:33 ` [Qemu-devel] [PATCH 2/9] kvm: introduce vcpu_debug = kvm_debug + vcpu context Denis V. Lunev
2015-07-01  0:12   ` Peter Hornyack
2015-06-30 11:33 ` [Qemu-devel] [PATCH 3/9] kvm: add hyper-v crash msrs values Denis V. Lunev
2015-07-01  0:14   ` Peter Hornyack
2015-07-01 15:00   ` Paolo Bonzini
2015-07-01 15:53     ` Denis V. Lunev
2015-07-01 16:06       ` Peter Hornyack
2015-07-01 16:48         ` Paolo Bonzini
2015-06-30 11:33 ` [Qemu-devel] [PATCH 4/9] kvm/x86: added hyper-v crash msrs into kvm hyperv context Denis V. Lunev
2015-07-01  0:14   ` Peter Hornyack
2015-06-30 11:33 ` [Qemu-devel] [PATCH 5/9] kvm: added KVM_REQ_HV_CRASH value to notify qemu about hyper-v crash Denis V. Lunev
2015-07-01  0:14   ` Peter Hornyack
2015-06-30 11:33 ` [Qemu-devel] [PATCH 6/9] kvm/x86: mark hyper-v crash msrs as partition wide Denis V. Lunev
2015-07-01  0:15   ` Peter Hornyack
2015-06-30 11:33 ` [Qemu-devel] [PATCH 7/9] kvm/x86: added hyper-v crash data and ctl msr's get/set'ers Denis V. Lunev
2015-07-01  0:15   ` Peter Hornyack
2015-07-01 16:47   ` Paolo Bonzini
2015-06-30 11:33 ` [Qemu-devel] [PATCH 8/9] kvm/x86: add sending hyper-v crash notification to user space Denis V. Lunev
2015-07-01  0:16   ` Peter Hornyack
2015-07-01 15:12   ` Paolo Bonzini
2015-06-30 11:33 ` [Qemu-devel] [PATCH 9/9] qemu/kvm: kvm hyper-v based guest crash event handling Denis V. Lunev
2015-07-01 15:07   ` Paolo Bonzini
2015-07-02 13:19     ` Andrey Smetanin
2015-07-02 13:30       ` Paolo Bonzini
2015-06-30 12:26 ` [Qemu-devel] [PATCH v3 0/9] HyperV equivalent of pvpanic driver Daniel P. Berrange
2015-06-30 12:38   ` Denis V. Lunev [this message]
2015-07-01 14:09 ` Paolo Bonzini
2015-07-01 15:55   ` Denis V. Lunev

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=55928DBC.2080100@openvz.org \
    --to=den@openvz.org \
    --cc=asmetanin@virtuozzo.com \
    --cc=berrange@redhat.com \
    --cc=gleb@kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.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).