From nobody Sun May 19 03:38:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1576754231; cv=none; d=zohomail.com; s=zohoarc; b=i04NAsT2y09UJSvOYrVLCbJ8j53tFwolgfSBXWK08YyJoVxD8PLNlpplyn7qL8WYtI+DD3YOFjF2rVkqA4L0sS+4dO7s2qUsQp5V0iofSO6ITKiwHU2UoYyNZ4UiPhOI7ANUepSg2MUWIuzw/LR8uNYYwVtRw2dHHXEvmddGLkA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576754231; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=yMFwKfRm+znqqMiwPzP6tu+VjUIlW/d/JXNoyTC3Vb8=; b=jd07WB+KMe0tAWkGq5WDCZUPlnS22OGb2Ryu9MyZxcy7kjqruogvBjD3Siz3SiiI0I0J/zOp3Z5o9cX7lWGKRoergCZUFxYFil4X3ZQIbzZgvn+uDWLdNto5kS2FadcmZ922Y21v4/V0N0i8+f1pS5HENFbkLoKKVHsqhH+MpdE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1576754231299437.17495983813876; Thu, 19 Dec 2019 03:17:11 -0800 (PST) Received: from localhost ([::1]:39364 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihtnq-000252-4T for importer@patchew.org; Thu, 19 Dec 2019 06:17:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43358) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihtYp-0006nS-VU for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ihtYo-0000u0-9G for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:39 -0500 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:57839 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ihtYo-0000lK-2U for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:38 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-371-JbfEo7xaMKqw4YLVz-L-KA-1; Thu, 19 Dec 2019 06:01:23 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8D98B1005513; Thu, 19 Dec 2019 11:01:21 +0000 (UTC) Received: from localhost (ovpn-117-134.ams2.redhat.com [10.36.117.134]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BBD7D10013A1; Thu, 19 Dec 2019 11:01:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1576753296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=yMFwKfRm+znqqMiwPzP6tu+VjUIlW/d/JXNoyTC3Vb8=; b=Q8H2pF4Q8+/OUWcsoY1V2sbLK3LjGvLo5/AnxMplZQaVU9kxIS9+Tc2ziEg0sN89rcqgZP /vwomrbtsWbXBbvGSmBLLJvyS9fIqAqBp7VYVAaGMWw+tXpVwFS66+BUHkCgKOq2ZYVl8r HTSSkrO9A+1FEuQIKaKhw1vsO9xUB+g= From: Cornelia Huck To: Peter Maydell Subject: [PULL 1/6] target/s390x: Split out helper_per_store_real Date: Thu, 19 Dec 2019 12:01:07 +0100 Message-Id: <20191219110112.8343-2-cohuck@redhat.com> In-Reply-To: <20191219110112.8343-1-cohuck@redhat.com> References: <20191219110112.8343-1-cohuck@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-MC-Unique: JbfEo7xaMKqw4YLVz-L-KA-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-s390x@nongnu.org, Cornelia Huck , Richard Henderson , qemu-devel@nongnu.org, David Hildenbrand Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Richard Henderson Split the PER handling for store-to-real-address into its own helper function, conditionally called when PER is enabled, just as we do for per_branch and per_ifetch. Signed-off-by: Richard Henderson Message-Id: <20191211203614.15611-2-richard.henderson@linaro.org> Reviewed-by: David Hildenbrand Signed-off-by: Cornelia Huck --- target/s390x/helper.h | 1 + target/s390x/mem_helper.c | 16 ---------------- target/s390x/misc_helper.c | 10 ++++++++++ target/s390x/translate.c | 8 ++++++++ 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/target/s390x/helper.h b/target/s390x/helper.h index 56e8149866f4..f5b4bb6a316b 100644 --- a/target/s390x/helper.h +++ b/target/s390x/helper.h @@ -331,6 +331,7 @@ DEF_HELPER_FLAGS_3(sturg, TCG_CALL_NO_WG, void, env, i6= 4, i64) DEF_HELPER_1(per_check_exception, void, env) DEF_HELPER_FLAGS_3(per_branch, TCG_CALL_NO_RWG, void, env, i64, i64) DEF_HELPER_FLAGS_2(per_ifetch, TCG_CALL_NO_RWG, void, env, i64) +DEF_HELPER_FLAGS_1(per_store_real, TCG_CALL_NO_RWG, void, env) DEF_HELPER_FLAGS_1(stfl, TCG_CALL_NO_RWG, void, env) =20 DEF_HELPER_2(xsch, void, env, i64) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 2325767f1787..b1b3f406c9e0 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -2344,27 +2344,11 @@ uint64_t HELPER(lurag)(CPUS390XState *env, uint64_t= addr) void HELPER(stura)(CPUS390XState *env, uint64_t addr, uint64_t v1) { cpu_stl_real_ra(env, wrap_address(env, addr), (uint32_t)v1, GETPC()); - - if ((env->psw.mask & PSW_MASK_PER) && - (env->cregs[9] & PER_CR9_EVENT_STORE) && - (env->cregs[9] & PER_CR9_EVENT_STORE_REAL)) { - /* PSW is saved just before calling the helper. */ - env->per_address =3D env->psw.addr; - env->per_perc_atmid =3D PER_CODE_EVENT_STORE_REAL | get_per_atmid(= env); - } } =20 void HELPER(sturg)(CPUS390XState *env, uint64_t addr, uint64_t v1) { cpu_stq_real_ra(env, wrap_address(env, addr), v1, GETPC()); - - if ((env->psw.mask & PSW_MASK_PER) && - (env->cregs[9] & PER_CR9_EVENT_STORE) && - (env->cregs[9] & PER_CR9_EVENT_STORE_REAL)) { - /* PSW is saved just before calling the helper. */ - env->per_address =3D env->psw.addr; - env->per_perc_atmid =3D PER_CODE_EVENT_STORE_REAL | get_per_atmid(= env); - } } =20 /* load real address */ diff --git a/target/s390x/misc_helper.c b/target/s390x/misc_helper.c index bfb457fb631a..58dbc023eb54 100644 --- a/target/s390x/misc_helper.c +++ b/target/s390x/misc_helper.c @@ -620,6 +620,16 @@ void HELPER(per_ifetch)(CPUS390XState *env, uint64_t a= ddr) } } } + +void HELPER(per_store_real)(CPUS390XState *env) +{ + if ((env->cregs[9] & PER_CR9_EVENT_STORE) && + (env->cregs[9] & PER_CR9_EVENT_STORE_REAL)) { + /* PSW is saved just before calling the helper. */ + env->per_address =3D env->psw.addr; + env->per_perc_atmid =3D PER_CODE_EVENT_STORE_REAL | get_per_atmid(= env); + } +} #endif =20 static uint8_t stfl_bytes[2048]; diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 151dfa91fb9f..ef751fefa4e5 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -4507,12 +4507,20 @@ static DisasJumpType op_stnosm(DisasContext *s, Dis= asOps *o) static DisasJumpType op_stura(DisasContext *s, DisasOps *o) { gen_helper_stura(cpu_env, o->in2, o->in1); + if (s->base.tb->flags & FLAG_MASK_PER) { + update_psw_addr(s); + gen_helper_per_store_real(cpu_env); + } return DISAS_NEXT; } =20 static DisasJumpType op_sturg(DisasContext *s, DisasOps *o) { gen_helper_sturg(cpu_env, o->in2, o->in1); + if (s->base.tb->flags & FLAG_MASK_PER) { + update_psw_addr(s); + gen_helper_per_store_real(cpu_env); + } return DISAS_NEXT; } #endif --=20 2.21.0 From nobody Sun May 19 03:38:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1576753847; cv=none; d=zohomail.com; s=zohoarc; b=e2QQ49f9t1BbdxrD7lUnPP1RyRmcNzcyTGEMzjds2LlSAz6FFsUUoZqABbKdTwplBIG52uuQPemCeuWe88R1QdTmlahV9hmh1EhKVIXysCZDZ8wfu6fn75VhCGaAEe9oIBvmPiGQHSWS94g4xNw/S4IWkKyrZvs+04tLAm07Bro= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576753847; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qIeGxDzPPfjt2yoiWN9A5KRxsOXYS9OSgM4V3ajWsN0=; b=fANtPCKZvnm+MyI4+qcFVA79M1MXY1SXjQIA05mfFVjBu4iF4bYnHV4kr9bsqKRFA79+GpjWYZzXXf9mjGdwzamtr39gmOrjTiRoa7zVwaaBABL/1KDnGahH2ZPlS97NQR4jccE2ios9nSuL2orAqFbePdllsNzod4nvaMRBUAo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1576753847209706.3333522682997; Thu, 19 Dec 2019 03:10:47 -0800 (PST) Received: from localhost ([::1]:39224 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihthd-00024b-Vf for importer@patchew.org; Thu, 19 Dec 2019 06:10:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:42393) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihtYj-0006fv-PM for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ihtYi-0000Ma-5S for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:33 -0500 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:51007 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ihtYh-0000IA-Tq for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:32 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-149-yUnTq2hPMs2h0mOXz6244g-1; Thu, 19 Dec 2019 06:01:27 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 02B57593AB; Thu, 19 Dec 2019 11:01:26 +0000 (UTC) Received: from localhost (ovpn-117-134.ams2.redhat.com [10.36.117.134]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4510363B92; Thu, 19 Dec 2019 11:01:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1576753291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qIeGxDzPPfjt2yoiWN9A5KRxsOXYS9OSgM4V3ajWsN0=; b=h1Wwtpw/Gx/fJpQ9b2nXAfo69aNqtRipfqZchh8ilL4ypmeO4X+UOtX3pPfSXf9A6vwlkq aGGodlPiw/NysxwU1mLiuETnKatC/Lu/vRJovH6f9V9tikWPRa7djgQkPJ8abPY0aIaGCX TSyur5RR4pC8xVYf01XnCpiRbTthdx4= From: Cornelia Huck To: Peter Maydell Subject: [PULL 2/6] target/s390x: Implement LOAD/STORE TO REAL ADDRESS inline Date: Thu, 19 Dec 2019 12:01:08 +0100 Message-Id: <20191219110112.8343-3-cohuck@redhat.com> In-Reply-To: <20191219110112.8343-1-cohuck@redhat.com> References: <20191219110112.8343-1-cohuck@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-MC-Unique: yUnTq2hPMs2h0mOXz6244g-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-s390x@nongnu.org, Cornelia Huck , Richard Henderson , qemu-devel@nongnu.org, David Hildenbrand Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Richard Henderson These are trivially done by performing a memory operation with the correct mmu_idx. The only tricky part is using get_address directly in order to get the address wrapped; we cannot use la2 because of the format. Signed-off-by: Richard Henderson Message-Id: <20191211203614.15611-3-richard.henderson@linaro.org> Reviewed-by: David Hildenbrand Signed-off-by: Cornelia Huck --- target/s390x/helper.h | 4 ---- target/s390x/insn-data.def | 8 ++++---- target/s390x/mem_helper.c | 22 ---------------------- target/s390x/translate.c | 21 ++++----------------- 4 files changed, 8 insertions(+), 47 deletions(-) diff --git a/target/s390x/helper.h b/target/s390x/helper.h index f5b4bb6a316b..b5813c2ac2b9 100644 --- a/target/s390x/helper.h +++ b/target/s390x/helper.h @@ -324,10 +324,6 @@ DEF_HELPER_FLAGS_4(ipte, TCG_CALL_NO_RWG, void, env, i= 64, i64, i32) DEF_HELPER_FLAGS_1(ptlb, TCG_CALL_NO_RWG, void, env) DEF_HELPER_FLAGS_1(purge, TCG_CALL_NO_RWG, void, env) DEF_HELPER_2(lra, i64, env, i64) -DEF_HELPER_FLAGS_2(lura, TCG_CALL_NO_WG, i64, env, i64) -DEF_HELPER_FLAGS_2(lurag, TCG_CALL_NO_WG, i64, env, i64) -DEF_HELPER_FLAGS_3(stura, TCG_CALL_NO_WG, void, env, i64, i64) -DEF_HELPER_FLAGS_3(sturg, TCG_CALL_NO_WG, void, env, i64, i64) DEF_HELPER_1(per_check_exception, void, env) DEF_HELPER_FLAGS_3(per_branch, TCG_CALL_NO_RWG, void, env, i64, i64) DEF_HELPER_FLAGS_2(per_ifetch, TCG_CALL_NO_RWG, void, env, i64) diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index 449eee1662d0..2bc77f087102 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -1275,8 +1275,8 @@ F(0xe313, LRAY, RXY_a, LD, 0, a2, r1, 0, lra, 0, IF_PRIV) F(0xe303, LRAG, RXY_a, Z, 0, a2, r1, 0, lra, 0, IF_PRIV) /* LOAD USING REAL ADDRESS */ - F(0xb24b, LURA, RRE, Z, 0, r2, new, r1_32, lura, 0, IF_PRIV) - F(0xb905, LURAG, RRE, Z, 0, r2, r1, 0, lurag, 0, IF_PRIV) + E(0xb24b, LURA, RRE, Z, 0, 0, new, r1_32, lura, 0, MO_TEUL, IF_= PRIV) + E(0xb905, LURAG, RRE, Z, 0, 0, r1, 0, lura, 0, MO_TEQ, IF_PRIV) /* MOVE TO PRIMARY */ F(0xda00, MVCP, SS_d, Z, la1, a2, 0, 0, mvcp, 0, IF_PRIV) /* MOVE TO SECONDARY */ @@ -1329,8 +1329,8 @@ /* STORE THEN OR SYSTEM MASK */ F(0xad00, STOSM, SI, Z, la1, 0, 0, 0, stnosm, 0, IF_PRIV) /* STORE USING REAL ADDRESS */ - F(0xb246, STURA, RRE, Z, r1_o, r2_o, 0, 0, stura, 0, IF_PRIV) - F(0xb925, STURG, RRE, Z, r1_o, r2_o, 0, 0, sturg, 0, IF_PRIV) + E(0xb246, STURA, RRE, Z, r1_o, 0, 0, 0, stura, 0, MO_TEUL, IF_PR= IV) + E(0xb925, STURG, RRE, Z, r1_o, 0, 0, 0, stura, 0, MO_TEQ, IF_PRI= V) /* TEST BLOCK */ F(0xb22c, TB, RRE, Z, 0, r2_o, 0, 0, testblock, 0, IF_PRIV) /* TEST PROTECTION */ diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index b1b3f406c9e0..2921419c27cd 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -2329,28 +2329,6 @@ void HELPER(purge)(CPUS390XState *env) tlb_flush_all_cpus_synced(env_cpu(env)); } =20 -/* load using real address */ -uint64_t HELPER(lura)(CPUS390XState *env, uint64_t addr) -{ - return cpu_ldl_real_ra(env, wrap_address(env, addr), GETPC()); -} - -uint64_t HELPER(lurag)(CPUS390XState *env, uint64_t addr) -{ - return cpu_ldq_real_ra(env, wrap_address(env, addr), GETPC()); -} - -/* store using real address */ -void HELPER(stura)(CPUS390XState *env, uint64_t addr, uint64_t v1) -{ - cpu_stl_real_ra(env, wrap_address(env, addr), (uint32_t)v1, GETPC()); -} - -void HELPER(sturg)(CPUS390XState *env, uint64_t addr, uint64_t v1) -{ - cpu_stq_real_ra(env, wrap_address(env, addr), v1, GETPC()); -} - /* load real address */ uint64_t HELPER(lra)(CPUS390XState *env, uint64_t addr) { diff --git a/target/s390x/translate.c b/target/s390x/translate.c index ef751fefa4e5..4292bb0dd078 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -3272,13 +3272,8 @@ static DisasJumpType op_lpq(DisasContext *s, DisasOp= s *o) #ifndef CONFIG_USER_ONLY static DisasJumpType op_lura(DisasContext *s, DisasOps *o) { - gen_helper_lura(o->out, cpu_env, o->in2); - return DISAS_NEXT; -} - -static DisasJumpType op_lurag(DisasContext *s, DisasOps *o) -{ - gen_helper_lurag(o->out, cpu_env, o->in2); + o->addr1 =3D get_address(s, 0, get_field(s->fields, r2), 0); + tcg_gen_qemu_ld_tl(o->out, o->addr1, MMU_REAL_IDX, s->insn->data); return DISAS_NEXT; } #endif @@ -4506,17 +4501,9 @@ static DisasJumpType op_stnosm(DisasContext *s, Disa= sOps *o) =20 static DisasJumpType op_stura(DisasContext *s, DisasOps *o) { - gen_helper_stura(cpu_env, o->in2, o->in1); - if (s->base.tb->flags & FLAG_MASK_PER) { - update_psw_addr(s); - gen_helper_per_store_real(cpu_env); - } - return DISAS_NEXT; -} + o->addr1 =3D get_address(s, 0, get_field(s->fields, r2), 0); + tcg_gen_qemu_st_tl(o->in1, o->addr1, MMU_REAL_IDX, s->insn->data); =20 -static DisasJumpType op_sturg(DisasContext *s, DisasOps *o) -{ - gen_helper_sturg(cpu_env, o->in2, o->in1); if (s->base.tb->flags & FLAG_MASK_PER) { update_psw_addr(s); gen_helper_per_store_real(cpu_env); --=20 2.21.0 From nobody Sun May 19 03:38:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1576753948; cv=none; d=zohomail.com; s=zohoarc; b=JGM0xZlhWkaWNGOqmEd/OYCicr/haqa/ZbVTsvSce3qGSJJMvVVglQjWvQpSSlycA+CMqeOy22rg/G5jbYM9J9YZ7DPaZCrRYURXDgg8WmNf9GGTkmDg6Avn8ju+MKtJnvUJdPHjLYS6aoIjrs9CBxJDZhgrcfXlRgG6wj3D5wM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576753948; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xHpMM384RdXLzpFE6SjAZkdl42OK3Or+UxwQ8vHaGjs=; b=kxjWjxw4O7r3ll3tEnEyjyCcQ0tD+lWux0KG5j/8c1El1VPT/xj1C2GXWwjCp+00yzk7IizjdriqYjpW6Z060g+w1dbXI2NNgh5AMlRXzAXlikG62r0F5exN+Uy7W4cM+VS5Ix6JhVz/c52QC8zbUJT5hybYlswY/Gi26ndc/y0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1576753948365386.06755100018836; Thu, 19 Dec 2019 03:12:28 -0800 (PST) Received: from localhost ([::1]:39262 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihtjH-0004Bh-4O for importer@patchew.org; Thu, 19 Dec 2019 06:12:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43522) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihtYq-0006oh-Ss for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ihtYp-00010V-HJ for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:40 -0500 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:60890 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ihtYp-0000y1-At for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:39 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-346-V4CIXPzsOm6JY6G4ARcCYw-1; Thu, 19 Dec 2019 06:01:29 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 289011005514; Thu, 19 Dec 2019 11:01:28 +0000 (UTC) Received: from localhost (ovpn-117-134.ams2.redhat.com [10.36.117.134]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B32F710013A1; Thu, 19 Dec 2019 11:01:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1576753298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xHpMM384RdXLzpFE6SjAZkdl42OK3Or+UxwQ8vHaGjs=; b=eQ7e4EXZVlf3oSi0mZEditzL1Jt0wc3hd/n29QF7L1RIkIlxY+zkD3hsQyh8Y2ft7hCGdi lvExeX1CUaSlcNykuRWCArvrr7ghQN++QuQ0AEP9CsMqMVGbQl2gREHWwA/kh8soLwCZji /QNVqEMfQkvQ6D2uYXsIetCwKXUWYnM= From: Cornelia Huck To: Peter Maydell Subject: [PULL 3/6] tests/boot-sector: Fix the bad s390x assembler code Date: Thu, 19 Dec 2019 12:01:09 +0100 Message-Id: <20191219110112.8343-4-cohuck@redhat.com> In-Reply-To: <20191219110112.8343-1-cohuck@redhat.com> References: <20191219110112.8343-1-cohuck@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-MC-Unique: V4CIXPzsOm6JY6G4ARcCYw-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 205.139.110.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth , Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Thomas Huth There are currently two bugs in s390x_code[]: First, the initial jump uses the wrong offset, so it was jumping to 0x10014 instead of 0x10010. Second, LHI only loads the lower 32-bit of the register. Everything worked fine as long as the s390-ccw bios code was jumping here with r3 containing zeroes in the uppermost 48 bit - which just happened to be the case so far by accident. But we can not rely on this fact, and indeed one of the recent suggested patches to jump2ipl.c cause the newer GCCs to put different values into r3. In that case the code from s390x_code[] crashes very ungracefully. Thus let's make sure to jump to the right instruction, and use LGHI instead of LHI to make sure that we always zero out the upper bits of the register. Signed-off-by: Thomas Huth Message-Id: <20191217150642.27946-1-thuth@redhat.com> Reviewed-by: Christian Borntraeger Signed-off-by: Cornelia Huck --- tests/boot-sector.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/boot-sector.c b/tests/boot-sector.c index 7824286b9a4e..9e66c6d0130a 100644 --- a/tests/boot-sector.c +++ b/tests/boot-sector.c @@ -75,11 +75,11 @@ static const uint8_t s390x_psw_and_magic[] =3D { 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 /* in the s390-ccw bi= os */ }; static const uint8_t s390x_code[] =3D { - 0xa7, 0xf4, 0x00, 0x0a, /* j 0x10010 */ + 0xa7, 0xf4, 0x00, 0x08, /* j 0x10010 */ 0x00, 0x00, 0x00, 0x00, 'S', '3', '9', '0', 'E', 'P', 0x00, 0x01, - 0xa7, 0x38, HIGH(SIGNATURE_ADDR), LOW(SIGNATURE_ADDR), /* lhi r3,0x7c1= 0 */ + 0xa7, 0x39, HIGH(SIGNATURE_ADDR), LOW(SIGNATURE_ADDR), /* lghi r3,0x7c= 10 */ 0xa7, 0x48, LOW(SIGNATURE), HIGH(SIGNATURE), /* lhi r4,0xadd= e */ 0x40, 0x40, 0x30, 0x00, /* sth r4,0(r3)= */ 0xa7, 0xf4, 0xff, 0xfa /* j 0x10010 */ --=20 2.21.0 From nobody Sun May 19 03:38:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1576753505; cv=none; d=zohomail.com; s=zohoarc; b=JSapvePIGhEYVJQ/Jpxp6uTK8R6yhwWGDTy/Pr+jCv0UGWNpSCsUDwteSn8usWZ6F/hCQfy7p4sp6kQw2h7I3ersCuAfWEk5AdtKsaaKV8WjN2lQRr5jdh0P9rg/w6pROlTPkhGB973tTzPuW0mY59+f0AKX+DvOlnIBzI3ir0g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576753505; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GN3BOXoY+K3lCkpEd8ZedRLEqb9ptuEu3tYT9xjH8uM=; b=eGC/XLP5xK/PxXnLFTj3Mp4cIuwvWwrpkQkJXNUQgUu/yKVBR7yKvV+IumSLMbn1BcPXtjitk1+OFKAGmg94kPn79Zd+rNKgE0QcFs+chBrBDNUaR4EAKGWID9AArf8b6mmit/mqvWQi4qgf3aeWmRwGuCJ/6RdhWBMFqjK21CM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1576753505085773.543481426444; Thu, 19 Dec 2019 03:05:05 -0800 (PST) Received: from localhost ([::1]:39104 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihtc6-0002HB-C1 for importer@patchew.org; Thu, 19 Dec 2019 06:05:02 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43304) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihtYp-0006mw-Ii for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ihtYo-0000uN-AQ for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:39 -0500 Received: from us-smtp-2.mimecast.com ([207.211.31.81]:21956 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ihtYo-0000k3-3o for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:38 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-27-LvIVz8PuNqazKSncH7aZ6w-1; Thu, 19 Dec 2019 06:01:34 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 40FA9190D349; Thu, 19 Dec 2019 11:01:33 +0000 (UTC) Received: from localhost (ovpn-117-134.ams2.redhat.com [10.36.117.134]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D45AE675B8; Thu, 19 Dec 2019 11:01:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1576753296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GN3BOXoY+K3lCkpEd8ZedRLEqb9ptuEu3tYT9xjH8uM=; b=XRes72Eeq1BEbucKhXMN6vdCLebZTraWFji+QEDcYym911XdU9INGmef3PA1bm5aUrJpG6 WniLMA8wQ7ReYqyBkZFsESnJmXU7sxowKZnBdrIeJteSya90MYJOisMbtSdBScHqC+bdq2 b9krM5GN7YpgCOpKCUqp5L1izanKAz4= From: Cornelia Huck To: Peter Maydell Subject: [PULL 4/6] pc-bios/s390x: Fix reset psw mask Date: Thu, 19 Dec 2019 12:01:10 +0100 Message-Id: <20191219110112.8343-5-cohuck@redhat.com> In-Reply-To: <20191219110112.8343-1-cohuck@redhat.com> References: <20191219110112.8343-1-cohuck@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-MC-Unique: LvIVz8PuNqazKSncH7aZ6w-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , qemu-devel@nongnu.org, Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Janosch Frank We need to set the short psw indication bit in the reset psw, as it is a short psw. Exposed by "s390x: Properly fetch and test the short psw on diag308 subc 0/1". Fixes: 962982329029 ("pc-bios/s390-ccw: do a subsystem reset before running= the guest") Signed-off-by: Janosch Frank Message-Id: <20191203132813.2734-5-frankja@linux.ibm.com> Acked-by: Christian Borntraeger Signed-off-by: Cornelia Huck --- pc-bios/s390-ccw/jump2ipl.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pc-bios/s390-ccw/jump2ipl.c b/pc-bios/s390-ccw/jump2ipl.c index 266f1502b967..da13c43cc047 100644 --- a/pc-bios/s390-ccw/jump2ipl.c +++ b/pc-bios/s390-ccw/jump2ipl.c @@ -12,11 +12,11 @@ #define KERN_IMAGE_START 0x010000UL #define PSW_MASK_64 0x0000000100000000ULL #define PSW_MASK_32 0x0000000080000000ULL -#define IPL_PSW_MASK (PSW_MASK_32 | PSW_MASK_64) +#define PSW_MASK_SHORTPSW 0x0008000000000000ULL +#define RESET_PSW_MASK (PSW_MASK_SHORTPSW | PSW_MASK_32 | PSW_MASK_64) =20 typedef struct ResetInfo { - uint32_t ipl_mask; - uint32_t ipl_addr; + uint64_t ipl_psw; uint32_t ipl_continue; } ResetInfo; =20 @@ -50,7 +50,9 @@ void jump_to_IPL_code(uint64_t address) ResetInfo *current =3D 0; =20 save =3D *current; - current->ipl_addr =3D (uint32_t) (uint64_t) &jump_to_IPL_2; + + current->ipl_psw =3D (uint64_t) &jump_to_IPL_2; + current->ipl_psw |=3D RESET_PSW_MASK; current->ipl_continue =3D address & 0x7fffffff; =20 debug_print_int("set IPL addr to", current->ipl_continue); @@ -82,7 +84,7 @@ void jump_to_low_kernel(void) } =20 /* Trying to get PSW at zero address */ - if (*((uint64_t *)0) & IPL_PSW_MASK) { + if (*((uint64_t *)0) & RESET_PSW_MASK) { jump_to_IPL_code((*((uint64_t *)0)) & 0x7fffffff); } =20 --=20 2.21.0 From nobody Sun May 19 03:38:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1576753773; cv=none; d=zohomail.com; s=zohoarc; b=XlSNB50xrid4pdHl9TT0MadetPzRQp5nD0MegBi18yNUyjp3Za6I41BsOsWJ+sE2nQTTPyo1TIdvD/KLoT1WsTXRahddSJt27OHVHenCW8Rhkxo1hrVHwyJSlJrIlNGg6jgl73xMfLvRJ4vdeAlExBxWEX/IczPBh+beo3UBsq8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576753773; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1HoeGGLE+NCSfwKuIv1gxwSI6vimdkU6jnaj81RXrBE=; b=HNlOUG3WSf6/6tsLo5Y/UslHZOmPj6mLGGyRW/3B2aB3Yefcix0IvHLxaucTwxy57VXCOpmFx7l2kPtv9BGiCg/pIxx+Jo/wR54Px9E2YIDiBk52s8EdLV7Qx3IYOOSkI8Aw3rYEFpBWUM6kYMkphv/FrZnutfWo4F5jCOA/Rmc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1576753773966788.7184625134477; Thu, 19 Dec 2019 03:09:33 -0800 (PST) Received: from localhost ([::1]:39202 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihtgS-0000SM-Bw for importer@patchew.org; Thu, 19 Dec 2019 06:09:32 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46046) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihtZ9-0007Fe-M4 for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:02:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ihtYy-0001kn-SB for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:59 -0500 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:20438 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ihtYy-0001gz-8A for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:48 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-55-M4mKwLczPsy_RntUAZNNPg-1; Thu, 19 Dec 2019 06:01:45 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 02F5D8DAE41; Thu, 19 Dec 2019 11:01:44 +0000 (UTC) Received: from localhost (ovpn-117-134.ams2.redhat.com [10.36.117.134]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0C9405C3FD; Thu, 19 Dec 2019 11:01:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1576753307; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1HoeGGLE+NCSfwKuIv1gxwSI6vimdkU6jnaj81RXrBE=; b=P9rUAX5gkXLbWcJTs0wq9LaUdzgLxrQHg0X/7G8j9wVNS3oFdCPBIH/01DEy5HH7oaOcJu Qgw3vCcd/QR9pvoxElwWWydo1bFXiRU6rycEZKbQffPX3J91V4iEVHYt602r7zCu3ICPpn ITZV66Odb6NbJB+sCOY5VJAAwpzYFVM= From: Cornelia Huck To: Peter Maydell Subject: [PULL 5/6] pc-bios/s390: Update firmware images Date: Thu, 19 Dec 2019 12:01:11 +0100 Message-Id: <20191219110112.8343-6-cohuck@redhat.com> In-Reply-To: <20191219110112.8343-1-cohuck@redhat.com> References: <20191219110112.8343-1-cohuck@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-MC-Unique: M4mKwLczPsy_RntUAZNNPg-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-s390x@nongnu.org, Cornelia Huck , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Contains "pc-bios/s390x: Fix reset psw mask". Signed-off-by: Cornelia Huck --- pc-bios/s390-ccw.img | Bin 42608 -> 42608 bytes pc-bios/s390-netboot.img | Bin 67232 -> 67232 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/pc-bios/s390-ccw.img b/pc-bios/s390-ccw.img index c84ae93561ddfa3e1749f81ff62e60aad97fc061..91cdee4436ad828fe6cb664cfac= 270a21f2bde70 100644 GIT binary patch literal 42608 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 Y)Q)}wiqal#3+XNWtkaUfUjv``e|&StiU0rr literal 42608 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 literal 67232 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 Xc*;jV)Bbb8JXLWW@#x$Hw> (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1576753652260213.29688045908188; Thu, 19 Dec 2019 03:07:32 -0800 (PST) Received: from localhost ([::1]:39170 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihteU-00065t-OF for importer@patchew.org; Thu, 19 Dec 2019 06:07:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45538) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihtZ5-0007Aa-Ti for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ihtZ4-00028C-AH for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:55 -0500 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:48837 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ihtZ3-00024I-Tv for qemu-devel@nongnu.org; Thu, 19 Dec 2019 06:01:54 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-40-5yEOigs-N6yhXwYy-pobyw-1; Thu, 19 Dec 2019 06:01:49 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8AD871005510; Thu, 19 Dec 2019 11:01:48 +0000 (UTC) Received: from localhost (ovpn-117-134.ams2.redhat.com [10.36.117.134]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DE92D63B89; Thu, 19 Dec 2019 11:01:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1576753313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SsKlgFVaY90ZmdAuFQza/rRwJIEq8CzteF4gT9FMQ5M=; b=B5hplWzTXmW3F+upJC0aDUMTVFMVpMrcqVuEciRvXPqi+wkc32L1dLoN+2Aj2qotd+kosb z8+kq0uog/IamsoxhfX6TtAnhBQJvWKfciNMpJn6kMZ6CKCaTtJDAexLKfmrZhRlSIdGss GlsgOOZwK8WlegsavQpAPTdHpN1MhaM= From: Cornelia Huck To: Peter Maydell Subject: [PULL 6/6] s390x: Properly fetch and test the short psw on diag308 subc 0/1 Date: Thu, 19 Dec 2019 12:01:12 +0100 Message-Id: <20191219110112.8343-7-cohuck@redhat.com> In-Reply-To: <20191219110112.8343-1-cohuck@redhat.com> References: <20191219110112.8343-1-cohuck@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-MC-Unique: 5yEOigs-N6yhXwYy-pobyw-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 205.139.110.61 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Cornelia Huck , qemu-s390x@nongnu.org, David Hildenbrand , qemu-devel@nongnu.org, Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Janosch Frank We need to actually fetch the cpu mask and set it. As we invert the short psw indication in the mask, SIE will report a specification exception, if it wasn't present in the reset psw. Signed-off-by: Janosch Frank Reviewed-by: David Hildenbrand Message-Id: <20191129142025.21453-2-frankja@linux.ibm.com> Signed-off-by: Cornelia Huck --- target/s390x/cpu.c | 12 ++++++++++-- target/s390x/cpu.h | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c index 99ea09085a30..625daeedd133 100644 --- a/target/s390x/cpu.c +++ b/target/s390x/cpu.c @@ -76,8 +76,16 @@ static bool s390_cpu_has_work(CPUState *cs) static void s390_cpu_load_normal(CPUState *s) { S390CPU *cpu =3D S390_CPU(s); - cpu->env.psw.addr =3D ldl_phys(s->as, 4) & PSW_MASK_ESA_ADDR; - cpu->env.psw.mask =3D PSW_MASK_32 | PSW_MASK_64; + uint64_t spsw =3D ldq_phys(s->as, 0); + + cpu->env.psw.mask =3D spsw & 0xffffffff80000000ULL; + /* + * Invert short psw indication, so SIE will report a specification + * exception if it was not set. + */ + cpu->env.psw.mask ^=3D PSW_MASK_SHORTPSW; + cpu->env.psw.addr =3D spsw & 0x7fffffffULL; + s390_cpu_set_state(S390_CPU_STATE_OPERATING, cpu); } #endif diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h index aa829e954cbf..e195e5c7c8bb 100644 --- a/target/s390x/cpu.h +++ b/target/s390x/cpu.h @@ -269,6 +269,7 @@ extern const VMStateDescription vmstate_s390_cpu; #define PSW_MASK_EXT 0x0100000000000000ULL #define PSW_MASK_KEY 0x00F0000000000000ULL #define PSW_SHIFT_KEY 52 +#define PSW_MASK_SHORTPSW 0x0008000000000000ULL #define PSW_MASK_MCHECK 0x0004000000000000ULL #define PSW_MASK_WAIT 0x0002000000000000ULL #define PSW_MASK_PSTATE 0x0001000000000000ULL --=20 2.21.0