From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37551) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1elIGU-0000CU-SP for qemu-devel@nongnu.org; Mon, 12 Feb 2018 12:51:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1elIGR-0004s6-7q for qemu-devel@nongnu.org; Mon, 12 Feb 2018 12:51:42 -0500 References: <20180209122543.25755-1-borntraeger@de.ibm.com> From: Eric Blake Message-ID: <85636569-9a27-738f-0b86-86b6eef57805@redhat.com> Date: Mon, 12 Feb 2018 11:51:37 -0600 MIME-Version: 1.0 In-Reply-To: <20180209122543.25755-1-borntraeger@de.ibm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v8] s390x/cpu: expose the guest crash information List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Christian Borntraeger , qemu-s390x Cc: qemu-devel , Cornelia Huck , Thomas Huth , David Hildenbrand , Halil Pasic , Bjoern Walk , Boris Fiuczynski On 02/09/2018 06:25 AM, Christian Borntraeger 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. > ... > > Co-authored-by: Jing Liu > Signed-off-by: Christian Borntraeger > --- > +## > +# @GuestPanicInformationS390: > +# > +# S390 specific guest panic information (PSW) > +# > +# @core: core id of the CPU that crashed > +# @psw-mask: control fields of guest PSW > +# @psw-addr: guest instruction address > +# @reason: guest crash reason in human readable form This description is stale, now that it is an enum (and thus also machine-readable). I'd shorten it to just # @reason: guest crash reason > +# > +# Since: 2.12 > +## > +{'struct': 'GuestPanicInformationS390', > + 'data': { 'core': 'uint32', > + 'psw-mask': 'uint64', > + 'psw-addr': 'uint64', > + 'reason': 'S390CrashReason' } } > +static GuestPanicInformation *s390_cpu_get_crash_info(CPUState *cs) > +{ > + GuestPanicInformation *panic_info; > + S390CPU *cpu = S390_CPU(cs); > + > + cpu_synchronize_state(cs); > + panic_info = g_malloc0(sizeof(GuestPanicInformation)); > + > + panic_info->type = GUEST_PANIC_INFORMATION_TYPE_S390; > +#if !defined(CONFIG_USER_ONLY) > + panic_info->u.s390.core = cpu->env.core_id; > +#else > + panic_info->u.s390.core = 0; /* sane default for non system emulation */ Redundant assignment thanks to the g_malloc0() above, but the comment makes it explicit why you did that, so I can live with it. With the qapi comment tweak, Reviewed-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org