From patchwork Thu Feb 28 16:51:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Huth X-Patchwork-Id: 10833445 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D271D15AC for ; Thu, 28 Feb 2019 16:52:10 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BF69E2F552 for ; Thu, 28 Feb 2019 16:52:10 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BDB5E2F002; Thu, 28 Feb 2019 16:52:10 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 63B5E2F529 for ; Thu, 28 Feb 2019 16:52:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387406AbfB1QwJ (ORCPT ); Thu, 28 Feb 2019 11:52:09 -0500 Received: from mx1.redhat.com ([209.132.183.28]:55366 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731621AbfB1QwJ (ORCPT ); Thu, 28 Feb 2019 11:52:09 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BE44530CD326; Thu, 28 Feb 2019 16:52:08 +0000 (UTC) Received: from thuth.com (ovpn-116-149.ams2.redhat.com [10.36.116.149]) by smtp.corp.redhat.com (Postfix) with ESMTP id 08BE55DD74; Thu, 28 Feb 2019 16:52:06 +0000 (UTC) From: Thomas Huth To: Paolo Bonzini , =?utf-8?b?UmFkaW0gS3LEjW3DocWZ?= , kvm@vger.kernel.org Cc: kvm-ppc@vger.kernel.org, David Hildenbrand , Laurent Vivier , David Gibson Subject: [kvm-unit-tests PULL 1/5] powerpc: Enable HTM capability for h_cede_tm testcase Date: Thu, 28 Feb 2019 17:51:56 +0100 Message-Id: <1551372720-17321-2-git-send-email-thuth@redhat.com> In-Reply-To: <1551372720-17321-1-git-send-email-thuth@redhat.com> References: <1551372720-17321-1-git-send-email-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Thu, 28 Feb 2019 16:52:09 +0000 (UTC) Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: David Gibson The h_cede_tm case is specifically about an edge case with the H_CEDE hypercall while using hardware transactional memory (HTM). Current qemu versions don't enable HTM instructions in guests by default, so we should explicitly enable them in order to execute this test. Signed-off-by: David Gibson Reviewed-by: Thomas Huth Signed-off-by: Thomas Huth --- powerpc/unittests.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/powerpc/unittests.cfg b/powerpc/unittests.cfg index 4eda258..af535b7 100644 --- a/powerpc/unittests.cfg +++ b/powerpc/unittests.cfg @@ -63,7 +63,7 @@ file = emulator.elf [h_cede_tm] file = tm.elf smp = 2,threads=2 -extra_params = -append "h_cede_tm" +extra_params = -machine cap-htm=on -append "h_cede_tm" groups = nodefault,h_cede_tm [sprs] From patchwork Thu Feb 28 16:51:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Huth X-Patchwork-Id: 10833447 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C55CC15AC for ; Thu, 28 Feb 2019 16:52:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B2BEA2F552 for ; Thu, 28 Feb 2019 16:52:12 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A75E52F56D; Thu, 28 Feb 2019 16:52:12 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DFA4F2F552 for ; Thu, 28 Feb 2019 16:52:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387420AbfB1QwL (ORCPT ); Thu, 28 Feb 2019 11:52:11 -0500 Received: from mx1.redhat.com ([209.132.183.28]:38478 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733144AbfB1QwK (ORCPT ); Thu, 28 Feb 2019 11:52:10 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A0BC7307CB38; Thu, 28 Feb 2019 16:52:10 +0000 (UTC) Received: from thuth.com (ovpn-116-149.ams2.redhat.com [10.36.116.149]) by smtp.corp.redhat.com (Postfix) with ESMTP id 157275DD74; Thu, 28 Feb 2019 16:52:08 +0000 (UTC) From: Thomas Huth To: Paolo Bonzini , =?utf-8?b?UmFkaW0gS3LEjW3DocWZ?= , kvm@vger.kernel.org Cc: kvm-ppc@vger.kernel.org, David Hildenbrand , Laurent Vivier , Janosch Frank Subject: [kvm-unit-tests PULL 2/5] s390x: Only look at relevant skey bits Date: Thu, 28 Feb 2019 17:51:57 +0100 Message-Id: <1551372720-17321-3-git-send-email-thuth@redhat.com> In-Reply-To: <1551372720-17321-1-git-send-email-thuth@redhat.com> References: <1551372720-17321-1-git-send-email-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Thu, 28 Feb 2019 16:52:10 +0000 (UTC) Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Janosch Frank Reference and change indication should not be consulted when checking for ACC and FP values of storage keys. Signed-off-by: Janosch Frank Reviewed-by: David Hildenbrand Reviewed-by: Thomas Huth Signed-off-by: Thomas Huth --- lib/s390x/asm/mem.h | 5 +++++ s390x/pfmf.c | 6 +++++- s390x/skey.c | 15 +++++++++++---- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/lib/s390x/asm/mem.h b/lib/s390x/asm/mem.h index 909e6d4..75bd778 100644 --- a/lib/s390x/asm/mem.h +++ b/lib/s390x/asm/mem.h @@ -10,6 +10,11 @@ #ifndef _ASM_S390_MEM_H #define _ASM_S390_MEM_H +#define SKEY_ACC 0xf0 +#define SKEY_FP 0x08 +#define SKEY_RF 0x04 +#define SKEY_CH 0x02 + union skey { struct { uint8_t acc : 4; diff --git a/s390x/pfmf.c b/s390x/pfmf.c index 5e61267..4cc6bd1 100644 --- a/s390x/pfmf.c +++ b/s390x/pfmf.c @@ -70,6 +70,7 @@ static void test_4k_key(void) r1.reg.key = 0x30; pfmf(r1.val, (unsigned long) pagebuf); skey.val = get_storage_key((unsigned long) pagebuf); + skey.val &= SKEY_ACC | SKEY_FP; report("set 4k", skey.val == 0x30); } @@ -77,6 +78,7 @@ static void test_1m_key(void) { int i; union r1 r1; + union skey skey; r1.val = 0; r1.reg.sk = 1; @@ -84,7 +86,9 @@ static void test_1m_key(void) r1.reg.key = 0x30; pfmf(r1.val, (unsigned long) pagebuf); for (i = 0; i < 256; i++) { - if (get_storage_key((unsigned long) pagebuf + i * PAGE_SIZE) != 0x30) { + skey.val = get_storage_key((unsigned long) pagebuf + i * PAGE_SIZE); + skey.val &= SKEY_ACC | SKEY_FP; + if (skey.val != 0x30) { report("set 1M", false); return; } diff --git a/s390x/skey.c b/s390x/skey.c index 1949533..f4894f1 100644 --- a/s390x/skey.c +++ b/s390x/skey.c @@ -35,9 +35,10 @@ static void test_set_mb(void) while (addr < end) addr = set_storage_key_mb(addr, skey.val); - ret1.val = get_storage_key(end - PAGE_SIZE); - ret2.val = get_storage_key(end - PAGE_SIZE * 2); - report("multi block", ret1.val == ret2.val && ret1.val == skey.val); + ret1.val = get_storage_key(end - PAGE_SIZE) & (SKEY_ACC | SKEY_FP); + ret2.val = get_storage_key(end - PAGE_SIZE * 2) & (SKEY_ACC | SKEY_FP); + report("multi block", + ret1.val == ret2.val && ret1.val == skey.val); } static void test_chg(void) @@ -60,7 +61,13 @@ static void test_set(void) ret.val = get_storage_key(page0); set_storage_key(page0, skey.val, 0); ret.val = get_storage_key(page0); - report("set key test", skey.val == ret.val); + /* + * For all set tests we only test the ACC and FP bits. RF and + * CH are set by the machine for memory references and changes + * and hence might change between a set and a get. + */ + report("set key test", + skey.str.acc == ret.str.acc && skey.str.fp == ret.str.fp); } static void test_priv(void) From patchwork Thu Feb 28 16:51:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Huth X-Patchwork-Id: 10833449 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 58352139A for ; Thu, 28 Feb 2019 16:52:17 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4466D2F002 for ; Thu, 28 Feb 2019 16:52:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 386792F500; Thu, 28 Feb 2019 16:52:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B8F9C2F002 for ; Thu, 28 Feb 2019 16:52:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387428AbfB1QwQ (ORCPT ); Thu, 28 Feb 2019 11:52:16 -0500 Received: from mx1.redhat.com ([209.132.183.28]:38512 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731621AbfB1QwP (ORCPT ); Thu, 28 Feb 2019 11:52:15 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 50235307CB3F; Thu, 28 Feb 2019 16:52:15 +0000 (UTC) Received: from thuth.com (ovpn-116-149.ams2.redhat.com [10.36.116.149]) by smtp.corp.redhat.com (Postfix) with ESMTP id C5D6518525; Thu, 28 Feb 2019 16:52:11 +0000 (UTC) From: Thomas Huth To: Paolo Bonzini , =?utf-8?b?UmFkaW0gS3LEjW3DocWZ?= , kvm@vger.kernel.org Cc: kvm-ppc@vger.kernel.org, David Hildenbrand , Laurent Vivier , Janosch Frank Subject: [kvm-unit-tests PULL 3/5] s390x: Beautify sthyi report strings Date: Thu, 28 Feb 2019 17:51:58 +0100 Message-Id: <1551372720-17321-4-git-send-email-thuth@redhat.com> In-Reply-To: <1551372720-17321-1-git-send-email-thuth@redhat.com> References: <1551372720-17321-1-git-send-email-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Thu, 28 Feb 2019 16:52:15 +0000 (UTC) Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Janosch Frank Tests like the register odd check in r1 and r2 were not distinguishable and the reports were hard to read in total. Signed-off-by: Janosch Frank Reviewed-by: Thomas Huth Signed-off-by: Thomas Huth --- s390x/sthyi.c | 54 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/s390x/sthyi.c b/s390x/sthyi.c index 16b8c14..04a7b4f 100644 --- a/s390x/sthyi.c +++ b/s390x/sthyi.c @@ -52,10 +52,12 @@ static void test_exception_addr(void) static void test_exception_reg_odd(void) { - report_prefix_push("Register check odd"); + report_prefix_push("Register check odd R1"); expect_pgm_int(); sthyi((uint64_t)pagebuf, 0, NULL, 1, 2); check_pgm_int_code(PGM_INT_CODE_SPECIFICATION); + report_prefix_pop(); + report_prefix_push("Register check odd R2"); expect_pgm_int(); sthyi((uint64_t)pagebuf, 0, NULL, 0, 3); check_pgm_int_code(PGM_INT_CODE_SPECIFICATION); @@ -76,52 +78,58 @@ static void test_function_code(uint64_t addr) uint64_t urc = 0; int cc = sthyi((uint64_t)pagebuf, 42, &urc, 0, 2); - report("Ill. fcode", cc == 3 && urc == CODE_UNSUPP); + report("Illegal fcode", cc == 3 && urc == CODE_UNSUPP); } static void test_fcode0_hdr(struct sthyi_hdr_sctn *hdr) { - report("HDR length", (hdr->INFHDLN >= sizeof(*hdr) - && !(hdr->INFHDLN % 8))); - report("MACH sctn length", (hdr->INFMLEN >= sizeof(struct sthyi_mach_sctn) - && !(hdr->INFMLEN % 8))); - report("PAR sctn length", (hdr->INFPLEN >= sizeof(struct sthyi_par_sctn) - && !(hdr->INFPLEN % 8))); - - report("MACH offset", hdr->INFMOFF >= hdr->INFHDLN); - report("PAR offset", hdr->INFPOFF >= hdr->INFHDLN); + report_prefix_push("Header"); + + report("length", hdr->INFHDLN >= sizeof(*hdr) && !(hdr->INFHDLN % 8)); + report("Machine sctn length", (hdr->INFMLEN >= sizeof(struct sthyi_mach_sctn) + && !(hdr->INFMLEN % 8))); + report("Partition section length", (hdr->INFPLEN >= sizeof(struct sthyi_par_sctn) + && !(hdr->INFPLEN % 8))); + + report("Machine offset", hdr->INFMOFF >= hdr->INFHDLN); + report("Partition offset", hdr->INFPOFF >= hdr->INFHDLN); + report_prefix_pop(); } static void test_fcode0_mach(struct sthyi_mach_sctn *mach) { int sum = mach->INFMSCPS + mach->INFMDCPS + mach->INFMSIFL + mach->INFMDIFL; + report_prefix_push("Machine"); if (mach->INFMVAL1 & MACH_ID_VLD) { - report("MACH type", memcmp(mach->INFMTYPE, null_buf, sizeof(mach->INFMTYPE))); - report("MACH manu", memcmp(mach->INFMMANU, null_buf, sizeof(mach->INFMMANU))); - report("MACH seq", memcmp(mach->INFMSEQ, null_buf, sizeof(mach->INFMSEQ))); - report("MACH plant", memcmp(mach->INFMPMAN, null_buf, sizeof(mach->INFMPMAN))); + report("type", memcmp(mach->INFMTYPE, null_buf, sizeof(mach->INFMTYPE))); + report("manufacturer", memcmp(mach->INFMMANU, null_buf, sizeof(mach->INFMMANU))); + report("sequence", memcmp(mach->INFMSEQ, null_buf, sizeof(mach->INFMSEQ))); + report("plant", memcmp(mach->INFMPMAN, null_buf, sizeof(mach->INFMPMAN))); } if (mach->INFMVAL1 & MACH_NAME_VLD) - report("MACH name", memcmp(mach->INFMNAME, null_buf, - sizeof(mach->INFMNAME))); + report("name", memcmp(mach->INFMNAME, null_buf, + sizeof(mach->INFMNAME))); if (mach->INFMVAL1 & MACH_CNT_VLD) - report("MACH core counts", sum); + report("core counts", sum); + report_prefix_pop(); } static void test_fcode0_par(struct sthyi_par_sctn *par) { int sum = par->INFPSCPS + par->INFPDCPS + par->INFPSIFL + par->INFPDIFL; + report_prefix_push("Partition"); if (par->INFPVAL1 & PART_CNT_VLD) - report("PAR core counts", sum); + report("core counts", sum); if (par->INFPVAL1 & PART_STSI_SUC) { - report("PAR number", par->INFPPNUM); - report("PAR name", memcmp(par->INFPPNAM, null_buf, sizeof(par->INFPPNAM))); + report("number", par->INFPPNUM); + report("name", memcmp(par->INFPPNAM, null_buf, sizeof(par->INFPPNAM))); } + report_prefix_pop(); } static void test_fcode0(void) @@ -133,6 +141,7 @@ static void test_fcode0(void) /* Zero destination memory. */ memset(pagebuf, 0, PAGE_SIZE); + report_prefix_push("fcode 0"); sthyi((uint64_t)pagebuf, 0, NULL, 0, 2); hdr = (void *)pagebuf; mach = (void *)pagebuf + hdr->INFMOFF; @@ -141,6 +150,7 @@ static void test_fcode0(void) test_fcode0_hdr(hdr); test_fcode0_mach(mach); test_fcode0_par(par); + report_prefix_pop(); } int main(void) @@ -156,10 +166,12 @@ int main(void) } /* Test register/argument checking. */ + report_prefix_push("Instruction"); test_exception_addr(); test_exception_reg_odd(); test_exception_reg_equal(); test_function_code((uint64_t) pagebuf); + report_prefix_pop(); /* Test function code 0 - CP and IFL Capacity Information */ test_fcode0(); From patchwork Thu Feb 28 16:51:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Huth X-Patchwork-Id: 10833451 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2D01215AC for ; Thu, 28 Feb 2019 16:52:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1A5E92F002 for ; Thu, 28 Feb 2019 16:52:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0EA962F500; Thu, 28 Feb 2019 16:52:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A8B592F002 for ; Thu, 28 Feb 2019 16:52:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387446AbfB1QwS (ORCPT ); Thu, 28 Feb 2019 11:52:18 -0500 Received: from mx1.redhat.com ([209.132.183.28]:34606 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387434AbfB1QwS (ORCPT ); Thu, 28 Feb 2019 11:52:18 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 14EE3A12F7; Thu, 28 Feb 2019 16:52:18 +0000 (UTC) Received: from thuth.com (ovpn-116-149.ams2.redhat.com [10.36.116.149]) by smtp.corp.redhat.com (Postfix) with ESMTP id 956D313ACF; Thu, 28 Feb 2019 16:52:15 +0000 (UTC) From: Thomas Huth To: Paolo Bonzini , =?utf-8?b?UmFkaW0gS3LEjW3DocWZ?= , kvm@vger.kernel.org Cc: kvm-ppc@vger.kernel.org, David Hildenbrand , Laurent Vivier , Janosch Frank Subject: [kvm-unit-tests PULL 4/5] s390x: Beautify pfmf report strings Date: Thu, 28 Feb 2019 17:51:59 +0100 Message-Id: <1551372720-17321-5-git-send-email-thuth@redhat.com> In-Reply-To: <1551372720-17321-1-git-send-email-thuth@redhat.com> References: <1551372720-17321-1-git-send-email-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 28 Feb 2019 16:52:18 +0000 (UTC) Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Janosch Frank Use a 4k/1m prefix rather than mangling it into the report string. Signed-off-by: Janosch Frank [thuth: Changed "clear 1m" into "clear memory", too] Signed-off-by: Thomas Huth --- s390x/pfmf.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/s390x/pfmf.c b/s390x/pfmf.c index 4cc6bd1..9bf434a 100644 --- a/s390x/pfmf.c +++ b/s390x/pfmf.c @@ -64,6 +64,7 @@ static void test_4k_key(void) union r1 r1; union skey skey; + report_prefix_push("4K"); r1.val = 0; r1.reg.sk = 1; r1.reg.fsc = FSC_4K; @@ -71,15 +72,18 @@ static void test_4k_key(void) pfmf(r1.val, (unsigned long) pagebuf); skey.val = get_storage_key((unsigned long) pagebuf); skey.val &= SKEY_ACC | SKEY_FP; - report("set 4k", skey.val == 0x30); + report("set storage keys", skey.val == 0x30); + report_prefix_pop(); } static void test_1m_key(void) { int i; + bool rp = true; union r1 r1; union skey skey; + report_prefix_push("1M"); r1.val = 0; r1.reg.sk = 1; r1.reg.fsc = FSC_1M; @@ -89,11 +93,12 @@ static void test_1m_key(void) skey.val = get_storage_key((unsigned long) pagebuf + i * PAGE_SIZE); skey.val &= SKEY_ACC | SKEY_FP; if (skey.val != 0x30) { - report("set 1M", false); - return; + rp = false; + break; } } - report("set 1M", true); + report("set storage keys", rp); + report_prefix_pop(); } static void test_4k_clear(void) @@ -104,9 +109,11 @@ static void test_4k_clear(void) r1.reg.cf = 1; r1.reg.fsc = FSC_4K; + report_prefix_push("4K"); memset(pagebuf, 42, PAGE_SIZE); pfmf(r1.val, (unsigned long) pagebuf); - report("clear 4k", !memcmp(pagebuf, pagebuf + PAGE_SIZE, PAGE_SIZE)); + report("clear memory", !memcmp(pagebuf, pagebuf + PAGE_SIZE, PAGE_SIZE)); + report_prefix_pop(); } static void test_1m_clear(void) @@ -119,11 +126,13 @@ static void test_1m_clear(void) r1.reg.cf = 1; r1.reg.fsc = FSC_1M; + report_prefix_push("1M"); memset(pagebuf, 42, PAGE_SIZE * 256); pfmf(r1.val, (unsigned long) pagebuf); for (i = 0; i < PAGE_SIZE * 256; i++) sum |= pagebuf[i]; - report("clear 1m", !sum); + report("clear memory", !sum); + report_prefix_pop(); } int main(void) @@ -141,8 +150,8 @@ int main(void) memset(pagebuf, 0, PAGE_SIZE * 256); test_4k_key(); - test_1m_key(); test_4k_clear(); + test_1m_key(); test_1m_clear(); done: From patchwork Thu Feb 28 16:52:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Huth X-Patchwork-Id: 10833453 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8D9E515AC for ; Thu, 28 Feb 2019 16:52:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7A5932F002 for ; Thu, 28 Feb 2019 16:52:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6EDCA2F500; Thu, 28 Feb 2019 16:52:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 22E7D2F002 for ; Thu, 28 Feb 2019 16:52:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387447AbfB1QwU (ORCPT ); Thu, 28 Feb 2019 11:52:20 -0500 Received: from mx1.redhat.com ([209.132.183.28]:55852 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733263AbfB1QwU (ORCPT ); Thu, 28 Feb 2019 11:52:20 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EDA07308C134; Thu, 28 Feb 2019 16:52:19 +0000 (UTC) Received: from thuth.com (ovpn-116-149.ams2.redhat.com [10.36.116.149]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6555C5DD74; Thu, 28 Feb 2019 16:52:18 +0000 (UTC) From: Thomas Huth To: Paolo Bonzini , =?utf-8?b?UmFkaW0gS3LEjW3DocWZ?= , kvm@vger.kernel.org Cc: kvm-ppc@vger.kernel.org, David Hildenbrand , Laurent Vivier , Janosch Frank Subject: [kvm-unit-tests PULL 5/5] s390x: Add prefixes for dxc afp emulator test Date: Thu, 28 Feb 2019 17:52:00 +0100 Message-Id: <1551372720-17321-6-git-send-email-thuth@redhat.com> In-Reply-To: <1551372720-17321-1-git-send-email-thuth@redhat.com> References: <1551372720-17321-1-git-send-email-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.47]); Thu, 28 Feb 2019 16:52:20 +0000 (UTC) Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Janosch Frank Without it we have two reports that look the same, but don't have the same control register state for the test. Signed-off-by: Janosch Frank Reviewed-by: Thomas Huth Signed-off-by: Thomas Huth --- s390x/emulator.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/s390x/emulator.c b/s390x/emulator.c index f49c414..bce7b79 100644 --- a/s390x/emulator.c +++ b/s390x/emulator.c @@ -266,6 +266,7 @@ static void test_dxc(void) lc->dxc_vxc = 0x12345678; set_fpc_dxc(0); + report_prefix_push("afp"); expect_pgm_int(); asm volatile(" .insn rrf,0xb9600000,%0,%0,8,0\n" : : "r"(0) : "memory"); @@ -273,12 +274,13 @@ static void test_dxc(void) report("dxc in LC", lc->dxc_vxc == 0xff); report("dxc in FPC", get_fpc_dxc() == 0xff); - + report_prefix_pop(); /* DXC (0xff) is to be stored in LC only on a trap (CRT) without AFP */ lc->dxc_vxc = 0x12345678; set_fpc_dxc(0); + report_prefix_push("no-afp"); expect_pgm_int(); /* temporarily disable AFP */ afp_disable(); @@ -289,6 +291,7 @@ static void test_dxc(void) report("dxc in LC", lc->dxc_vxc == 0xff); report("dxc not in FPC", get_fpc_dxc() == 0); + report_prefix_pop(); } static struct {