[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [qemu-s390x] [PATCH v5 1/1] s390x/cpu: expose the guest crash inform
From: |
Cornelia Huck |
Subject: |
Re: [qemu-s390x] [PATCH v5 1/1] s390x/cpu: expose the guest crash information |
Date: |
Tue, 6 Feb 2018 13:49:34 +0100 |
On Tue, 6 Feb 2018 07:46:22 +0000
Christian Borntraeger <address@hidden> 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 <address@hidden>
> Signed-off-by: Christian Borntraeger <address@hidden>
> ---
> 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.