On Tue, 6 Feb 2018 07:46:22 +0000 Christian Borntraeger <borntrae...@de.ibm.com> wrote:
> This patch is the s390 implementation of guest crash information, > similar to commit d187e08dc4 ("i386/cpu: add crash-information QOM > property") and the related commits. We will detect several crash > reasons, with the "disabled wait" being the most important one, since > this is used by all s390 guests as a "panic like" notification. > > Demonstrate these ways with examples as follows. > > 1. crash-information QOM property; > > Run qemu with -qmp unix:qmp-sock,server, then use utility "qmp-shell" > to execute "qom-get" command, and might get the result like, > > (QEMU) qom-get path=/machine/cpu[0]/ property=crash-information > {"return": {"psw-addr": 1105350, "psw-mask": 562956395872256, "reason": > "disabled wait", "type": "s390"}} Hm, for me cpu0 shows up under /machine/unattached/device[0]. > > 2. GUEST_PANICKED event reporting; > > Run qemu with a socket option, and telnet or nc to that, > -chardev socket,id=qmp,port=4444,host=localhost,server \ > -mon chardev=qmp,mode=control,pretty=on \ > Negotiating the mode by { "execute": "qmp_capabilities" }, and the crash > information will be reported on a guest crash event like, > > { > "timestamp": { > "seconds": 1499931739, > "microseconds": 961296 > }, > "event": "GUEST_PANICKED", > "data": { > "action": "pause", > "info": { > "psw-addr": 1105350, > "reason": "disabled wait", > "psw-mask": 562956395872256, > "type": "s390" > } > } > } > > 3. log; > > Run qemu with the parameters: -D <logfile> -d guest_errors, to > specify the logfile and log item. The results might be, > > Guest crashed > S390 crash parameters: (0x0000100000000000 0x0000000000000006) > S390 crash reason: operation exception loop > > Co-authored-by: Jing Liu <liuj...@linux.vnet.ibm.com> > Signed-off-by: Christian Borntraeger <borntrae...@de.ibm.com> > --- > qapi/run-state.json | 27 ++++++++++++++++++++++-- > target/s390x/cpu.c | 57 > +++++++++++++++++++++++++++++++++++++++++++++++++++ > target/s390x/cpu.h | 11 ++++++++++ > target/s390x/helper.c | 5 ++++- > target/s390x/kvm.c | 15 +++++++------- > vl.c | 6 ++++++ > 6 files changed, 110 insertions(+), 11 deletions(-) Looks good to me. Will apply, but waiting for an ack/review.