On Tue, Feb 14, 2017 at 09:25:22AM +0300, Denis V. Lunev wrote: > From: Anton Nefedov <anton.nefe...@virtuozzo.com> > > 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 <anton.nefe...@virtuozzo.com> > Signed-off-by: Denis V. Lunev <d...@openvz.org> > --- > 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/ :|