[{"id":1774707,"web_url":"http://patchwork.ozlabs.org/comment/1774707/","msgid":"<1e5cbbe5-63ab-e628-a742-4f540a2d8c85@redhat.com>","list_archive_url":null,"date":"2017-09-25T12:47:24","subject":"Re: [Qemu-devel] [PATCH v1 18/27] s390x/tcg: implement SIGP SENSE\n\tRUNNING STATUS","submitter":{"id":66152,"url":"http://patchwork.ozlabs.org/api/people/66152/","name":"Thomas Huth","email":"thuth@redhat.com"},"content":"On 18.09.2017 18:00, David Hildenbrand wrote:\n> Preparation for TCG, for KVM is this is completely handled in the\n> kernel.\n> \n> Signed-off-by: David Hildenbrand <david@redhat.com>\n> ---\n>  target/s390x/cpu.h  |  2 ++\n>  target/s390x/sigp.c | 25 +++++++++++++++++++++++++\n>  2 files changed, 27 insertions(+)\n> \n> diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h\n> index 5d03802c7d..5aa755d7b5 100644\n> --- a/target/s390x/cpu.h\n> +++ b/target/s390x/cpu.h\n> @@ -594,6 +594,7 @@ struct sysib_322 {\n>  #define SIGP_SET_PREFIX        0x0d\n>  #define SIGP_STORE_STATUS_ADDR 0x0e\n>  #define SIGP_SET_ARCH          0x12\n> +#define SIGP_SENSE_RUNNING     0x15\n>  #define SIGP_STORE_ADTL_STATUS 0x17\n>  \n>  /* SIGP condition codes */\n> @@ -604,6 +605,7 @@ struct sysib_322 {\n>  \n>  /* SIGP status bits */\n>  #define SIGP_STAT_EQUIPMENT_CHECK   0x80000000UL\n> +#define SIGP_STAT_NOT_RUNNING       0x00000400UL\n>  #define SIGP_STAT_INCORRECT_STATE   0x00000200UL\n>  #define SIGP_STAT_INVALID_PARAMETER 0x00000100UL\n>  #define SIGP_STAT_EXT_CALL_PENDING  0x00000080UL\n> diff --git a/target/s390x/sigp.c b/target/s390x/sigp.c\n> index 9587c3d319..c57312b743 100644\n> --- a/target/s390x/sigp.c\n> +++ b/target/s390x/sigp.c\n> @@ -234,6 +234,28 @@ static void sigp_set_prefix(CPUState *cs, run_on_cpu_data arg)\n>      si->cc = SIGP_CC_ORDER_CODE_ACCEPTED;\n>  }\n>  \n> +static void sigp_sense_running(S390CPU *dst_cpu, SigpInfo *si)\n> +{\n> +    if (!tcg_enabled()) {\n> +        /* handled in KVM */\n> +        set_sigp_status(si, SIGP_STAT_INVALID_ORDER);\n> +        return;\n> +    }\n\nIf we're sure that this is always handled in the kernel, I think you\ncould simply do a \"g_assert(tcg_enabled())\" here instead?\n\n Thomas","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx06.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx06.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=thuth@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y13ny5b1Dz9t62\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 25 Sep 2017 22:49:56 +1000 (AEST)","from localhost ([::1]:42309 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dwSpd-0005CP-BH\n\tfor incoming@patchwork.ozlabs.org; Mon, 25 Sep 2017 08:49:53 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:51399)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <thuth@redhat.com>) id 1dwSnQ-000419-EU\n\tfor qemu-devel@nongnu.org; Mon, 25 Sep 2017 08:47:37 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <thuth@redhat.com>) id 1dwSnM-0006Vb-HM\n\tfor qemu-devel@nongnu.org; Mon, 25 Sep 2017 08:47:36 -0400","from mx1.redhat.com ([209.132.183.28]:41350)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <thuth@redhat.com>) id 1dwSnM-0006VM-Ac\n\tfor qemu-devel@nongnu.org; Mon, 25 Sep 2017 08:47:32 -0400","from smtp.corp.redhat.com\n\t(int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id D7927285C8;\n\tMon, 25 Sep 2017 12:47:30 +0000 (UTC)","from [10.36.117.66] (ovpn-117-66.ams2.redhat.com [10.36.117.66])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id 7B1D018224;\n\tMon, 25 Sep 2017 12:47:26 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com D7927285C8","To":"David Hildenbrand <david@redhat.com>, qemu-devel@nongnu.org","References":"<20170918160012.4317-1-david@redhat.com>\n\t<20170918160012.4317-19-david@redhat.com>","From":"Thomas Huth <thuth@redhat.com>","Message-ID":"<1e5cbbe5-63ab-e628-a742-4f540a2d8c85@redhat.com>","Date":"Mon, 25 Sep 2017 14:47:24 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170918160012.4317-19-david@redhat.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.13","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.30]);\n\tMon, 25 Sep 2017 12:47:31 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"Re: [Qemu-devel] [PATCH v1 18/27] s390x/tcg: implement SIGP SENSE\n\tRUNNING STATUS","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Matthew Rosato <mjrosato@linux.vnet.ibm.com>, cohuck@redhat.com, Richard\n\tHenderson <richard.henderson@linaro.org>, \n\tAlexander Graf <agraf@suse.de>, borntraeger@de.ibm.com, Igor Mammedov\n\t<imammedo@redhat.com>, =?utf-8?q?Alex_Benn=C3=A9e?=\n\t<alex.bennee@linaro.org>, \tAurelien Jarno <aurelien@aurel32.net>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1774709,"web_url":"http://patchwork.ozlabs.org/comment/1774709/","msgid":"<775a2477-6fce-4fbb-e873-56fc5acc3033@redhat.com>","list_archive_url":null,"date":"2017-09-25T12:51:05","subject":"Re: [Qemu-devel] [PATCH v1 18/27] s390x/tcg: implement SIGP SENSE\n\tRUNNING STATUS","submitter":{"id":70402,"url":"http://patchwork.ozlabs.org/api/people/70402/","name":"David Hildenbrand","email":"david@redhat.com"},"content":"On 25.09.2017 14:47, Thomas Huth wrote:\n> On 18.09.2017 18:00, David Hildenbrand wrote:\n>> Preparation for TCG, for KVM is this is completely handled in the\n>> kernel.\n>>\n>> Signed-off-by: David Hildenbrand <david@redhat.com>\n>> ---\n>>  target/s390x/cpu.h  |  2 ++\n>>  target/s390x/sigp.c | 25 +++++++++++++++++++++++++\n>>  2 files changed, 27 insertions(+)\n>>\n>> diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h\n>> index 5d03802c7d..5aa755d7b5 100644\n>> --- a/target/s390x/cpu.h\n>> +++ b/target/s390x/cpu.h\n>> @@ -594,6 +594,7 @@ struct sysib_322 {\n>>  #define SIGP_SET_PREFIX        0x0d\n>>  #define SIGP_STORE_STATUS_ADDR 0x0e\n>>  #define SIGP_SET_ARCH          0x12\n>> +#define SIGP_SENSE_RUNNING     0x15\n>>  #define SIGP_STORE_ADTL_STATUS 0x17\n>>  \n>>  /* SIGP condition codes */\n>> @@ -604,6 +605,7 @@ struct sysib_322 {\n>>  \n>>  /* SIGP status bits */\n>>  #define SIGP_STAT_EQUIPMENT_CHECK   0x80000000UL\n>> +#define SIGP_STAT_NOT_RUNNING       0x00000400UL\n>>  #define SIGP_STAT_INCORRECT_STATE   0x00000200UL\n>>  #define SIGP_STAT_INVALID_PARAMETER 0x00000100UL\n>>  #define SIGP_STAT_EXT_CALL_PENDING  0x00000080UL\n>> diff --git a/target/s390x/sigp.c b/target/s390x/sigp.c\n>> index 9587c3d319..c57312b743 100644\n>> --- a/target/s390x/sigp.c\n>> +++ b/target/s390x/sigp.c\n>> @@ -234,6 +234,28 @@ static void sigp_set_prefix(CPUState *cs, run_on_cpu_data arg)\n>>      si->cc = SIGP_CC_ORDER_CODE_ACCEPTED;\n>>  }\n>>  \n>> +static void sigp_sense_running(S390CPU *dst_cpu, SigpInfo *si)\n>> +{\n>> +    if (!tcg_enabled()) {\n>> +        /* handled in KVM */\n>> +        set_sigp_status(si, SIGP_STAT_INVALID_ORDER);\n>> +        return;\n>> +    }\n> \n> If we're sure that this is always handled in the kernel, I think you\n> could simply do a \"g_assert(tcg_enabled())\" here instead?\n> \n>  Thomas\n> \n\nThis keeps existing behavior and does not crash the guest. Therefore I\ndecided to not use a g_assert().\n\nEspecially, kernels throw every SIGP order to user space that they don't\nunderstand. So e.g. a SIGP SENSE RUNNING could end up here for older\nkernels.","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx08.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx08.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=david@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y13qr05nWz9tX3\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 25 Sep 2017 22:51:36 +1000 (AEST)","from localhost ([::1]:42327 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dwSrG-0006Iv-6R\n\tfor incoming@patchwork.ozlabs.org; Mon, 25 Sep 2017 08:51:34 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:52809)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <david@redhat.com>) id 1dwSqw-0006Id-WF\n\tfor qemu-devel@nongnu.org; Mon, 25 Sep 2017 08:51:15 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <david@redhat.com>) id 1dwSqt-00089u-2v\n\tfor qemu-devel@nongnu.org; Mon, 25 Sep 2017 08:51:15 -0400","from mx1.redhat.com ([209.132.183.28]:48938)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <david@redhat.com>) id 1dwSqs-00089U-QL\n\tfor qemu-devel@nongnu.org; Mon, 25 Sep 2017 08:51:11 -0400","from smtp.corp.redhat.com\n\t(int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 1160EC0587E5;\n\tMon, 25 Sep 2017 12:51:09 +0000 (UTC)","from [10.36.117.28] (ovpn-117-28.ams2.redhat.com [10.36.117.28])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 110886BF6D;\n\tMon, 25 Sep 2017 12:51:05 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 1160EC0587E5","To":"Thomas Huth <thuth@redhat.com>, qemu-devel@nongnu.org","References":"<20170918160012.4317-1-david@redhat.com>\n\t<20170918160012.4317-19-david@redhat.com>\n\t<1e5cbbe5-63ab-e628-a742-4f540a2d8c85@redhat.com>","From":"David Hildenbrand <david@redhat.com>","Organization":"Red Hat GmbH","Message-ID":"<775a2477-6fce-4fbb-e873-56fc5acc3033@redhat.com>","Date":"Mon, 25 Sep 2017 14:51:05 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<1e5cbbe5-63ab-e628-a742-4f540a2d8c85@redhat.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.13","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.32]);\n\tMon, 25 Sep 2017 12:51:09 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"Re: [Qemu-devel] [PATCH v1 18/27] s390x/tcg: implement SIGP SENSE\n\tRUNNING STATUS","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Matthew Rosato <mjrosato@linux.vnet.ibm.com>, cohuck@redhat.com, Richard\n\tHenderson <richard.henderson@linaro.org>, \n\tAlexander Graf <agraf@suse.de>, borntraeger@de.ibm.com, Igor Mammedov\n\t<imammedo@redhat.com>, =?utf-8?q?Alex_Benn=C3=A9e?=\n\t<alex.bennee@linaro.org>, \tAurelien Jarno <aurelien@aurel32.net>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}}]