[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [qemu-s390x] [PATCH v5 1/1] s390x/cpu: expose the guest
From: |
Christian Borntraeger |
Subject: |
Re: [Qemu-devel] [qemu-s390x] [PATCH v5 1/1] s390x/cpu: expose the guest crash information |
Date: |
Tue, 6 Feb 2018 13:59:00 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 |
On 02/06/2018 01:49 PM, Cornelia Huck wrote:
> 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].
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 <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.
>