On 02/06/2018 01:49 PM, Cornelia Huck wrote:
> On Tue, 6 Feb 2018 07:46:22 +0000
> Christian Borntraeger <[email protected]> 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].
The patch description is a bit older. Feel free to update the path.
>
>>
>> 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 <[email protected]>
>> Signed-off-by: Christian Borntraeger <[email protected]>
>> ---
>> 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.
>