qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 1/3] i386/cpu: add crash-information QOM prop


From: Daniel P. Berrange
Subject: Re: [Qemu-devel] [PATCH v4 1/3] i386/cpu: add crash-information QOM property
Date: Mon, 20 Feb 2017 18:32:01 +0000
User-agent: Mutt/1.7.1 (2016-10-04)

On Tue, Feb 14, 2017 at 09:25:22AM +0300, Denis V. Lunev wrote:
> From: Anton Nefedov <address@hidden>
> 
> Windows reports BSOD parameters through Hyper-V crash MSRs. This
> information is very useful for initial crash analysis and thus
> it would be nice to have a way to fetch it.
> 
> Signed-off-by: Anton Nefedov <address@hidden>
> Signed-off-by: Denis V. Lunev <address@hidden>
> ---
>  kvm-all.c         |  1 +
>  qapi-schema.json  | 24 ++++++++++++++++++++++++
>  target/i386/cpu.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 75 insertions(+)
> 
> diff --git a/kvm-all.c b/kvm-all.c
> index a27c880..64f46c8 100644
> --- a/kvm-all.c
> +++ b/kvm-all.c
> @@ -2000,6 +2000,7 @@ int kvm_cpu_exec(CPUState *cpu)
>                  ret = EXCP_INTERRUPT;
>                  break;
>              case KVM_SYSTEM_EVENT_CRASH:
> +                kvm_cpu_synchronize_state(cpu);
>                  qemu_mutex_lock_iothread();
>                  qemu_system_guest_panicked();
>                  qemu_mutex_unlock_iothread();
> diff --git a/qapi-schema.json b/qapi-schema.json
> index cbdffdd..9cb6ac5 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -5846,6 +5846,30 @@
>    'data': [ 'pause', 'poweroff' ] }
>  
>  ##
> +# @GuestPanicInformation:
> +#
> +# Information about a guest panic
> +#
> +# Since: 2.9
> +##
> +{'union': 'GuestPanicInformation',
> + 'data': { 'hyper-v': 'GuestPanicInformationHyperV' } }
> +
> +##
> +# @GuestPanicInformationHyperV:
> +#
> +# Hyper-V specific guest panic information (HV crash MSRs)
> +#
> +# Since: 2.9
> +##
> +{'struct': 'GuestPanicInformationHyperV',
> + 'data': { 'arg1': 'uint64',
> +           'arg2': 'uint64',
> +           'arg3': 'uint64',
> +           'arg4': 'uint64',
> +           'arg5': 'uint64' } }

Is there any benefit in naming these fields ?  In the Linux kernel
they are filled with ip, ax, bx, cx, dx register values. I'm unclear
if that's defined standard semantics by Microsoft, and thus consistent
for all OS using this interface, or just what Linux happens to store
there ?  If they're standard, then IMHO it could be nicer to name the
QAPI fields  ip, ax, bx, cx, dx.


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://entangle-photo.org       -o-    http://search.cpan.org/~danberr/ :|



reply via email to

[Prev in Thread] Current Thread [Next in Thread]