From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495508718427667.9702789577958; Mon, 22 May 2017 20:05:18 -0700 (PDT) Received: from localhost ([::1]:45855 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD08J-0006gg-7e for importer@patchew.org; Mon, 22 May 2017 23:05:15 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54693) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06S-0005YK-FK for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06R-0003g3-Kk for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:20 -0400 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:36821) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06R-0003fy-Hc for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:19 -0400 Received: by mail-qk0-x242.google.com with SMTP id y128so21473101qka.3 for ; Mon, 22 May 2017 20:03:19 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.17 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=cYeTbLG6X2Mm6ZFKTEun/Qz3U+vCCXO6BZ0dAcPSK8Y=; b=amIiHcbDfczOv+Y0JUP0tOKSxiebyO1lE45E9HQ3xoXLqwwBsHtRwbv/Fynk0ldzxW llc9hiySX6SLVvOtU2K+ZtRy8wQRPOdKUAINFYY5vwQcKTJwwViiX/95w7zLxlKakRUI 7ElzTCxGdx0SLEgrU4sJveGhNPMzwNLoHxGpSfMT+gFZcH02yW6zxkUGjAvZtvojeJn8 KjuipBjnl4cK4TZ9lr4L5EKheSnSQNV1ZE0UyQeb5Vcf6w3UlvooHnQbU17ltB8w2WZn kQ9C48JtbzlNJEmOIgMh5dlnPyBHQ2KRnqsLTVVFp3U8cOVnKUvansfV/dk7BWwNuHLO KElw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=cYeTbLG6X2Mm6ZFKTEun/Qz3U+vCCXO6BZ0dAcPSK8Y=; b=WC+sUfyXfxNQgg20Bc5Wmj0vpG84iWQD++oXobPGSDPjEKXNMhJ+Y9ps10BVyhwcvK Bp+AvaeYTUHzl36JlD/zjSMgMlUFAIy2GRpnO40hY0484IQ0uPX5nKPx20r1Fo7cSZtu CQMUotfEk8viKj5/tlwnUut2R5pnYYoPU7lQLeWbFgtuauh7kvNw0m+aLfg3TpvKFOni q6VkNWVgRg7jmYIzni009SSFgN6ieoK+3fcC7fWUxBW8BQ+yAR73XdWeDus3xZw4l7KH NciG0zbqlfjkUBAnY9o4dp803AyGN4vEAkiovFa+5sabxJxPIk3po+/nu2Ji2opvyAEi 7djw== X-Gm-Message-State: AODbwcCSZdLy+CV+njz5aIaOfFWURlsdpu8UayLb8unMHXPeAW4tiTSH 5W306C2/DAgxF0ymFEM= X-Received: by 10.55.112.6 with SMTP id l6mr23535333qkc.232.1495508598704; Mon, 22 May 2017 20:03:18 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:42 -0700 Message-Id: <20170523030312.6360-2-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH 01/31] target/s390: Use cpu_loop_exit_restore for tlb_fill X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 0c6a0d9..e3325a4 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -41,15 +41,9 @@ void tlb_fill(CPUState *cs, target_ulong addr, MMUAccessType access_type, int mmu_idx, uintptr_t retaddr) { - int ret; - - ret =3D s390_cpu_handle_mmu_fault(cs, addr, access_type, mmu_idx); + int ret =3D s390_cpu_handle_mmu_fault(cs, addr, access_type, mmu_idx); if (unlikely(ret !=3D 0)) { - if (likely(retaddr)) { - /* now we have a real cpu fault */ - cpu_restore_state(cs, retaddr); - } - cpu_loop_exit(cs); + cpu_loop_exit_restore(cs, retaddr); } } =20 --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495508731776110.04060721149278; Mon, 22 May 2017 20:05:31 -0700 (PDT) Received: from localhost ([::1]:45859 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD08Y-0006sM-8t for importer@patchew.org; Mon, 22 May 2017 23:05:30 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54713) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06V-0005ZF-Ad for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06T-0003gY-Bw for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:23 -0400 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:33122) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06T-0003gN-6H for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:21 -0400 Received: by mail-qt0-x244.google.com with SMTP id a46so20683400qte.0 for ; Mon, 22 May 2017 20:03:21 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.18 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=CSnfqghQWqB9NHnQuZFNnPFjfPRr/Bo+dFLVyOvWPeU=; b=VcDXxf0bpdXVifrRCJgt6MwhZZrbFK3ZsIYli1rHcwimBsg53QZ7fOxrN9noazY92t /o3kAoLSmcOpBys0Dlp1tjVk2DONPHJ3myWIdl6dkxT2faicLg6slejgxbPC4GDN5acz Wz9I03yie6jUE8pD2JczgaswZCYwweiugBD/WUh3q8ETv2vQ/xCH0tSSZNe0l0fM3/UY t7q49fEYTntzMeyFiyT2zcpL1H8aBPMSEePkLVIZlmR7OlMEoxh61UQftkGKZ7eJMJ1Q TG4dgsXV1Mr6LjBIcNGIGiPxD80hheBp2WkY0340IMON/L0ypVnkCrf0Tiob91CC4C0w b5Dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=CSnfqghQWqB9NHnQuZFNnPFjfPRr/Bo+dFLVyOvWPeU=; b=te45dyxdOVIxQRGSG2/WRygmYgR9rMPyX14QSpdi2AU3rvXEOI2/YcdquL12TFYawD ZUM4RcA/rYqMywzXWUEM0wWQ+15hiAPTnV9zjn+l/UpvGatZzFOsME99cq04odtc3ZOg h+F/wCZojJe6ZWih3DIwpsX4q+9fkuEUnVn6sUcrFKWqc5MTVM+M89ypNXZkVCdZlRX5 ZiOqR6YD3GleM719aXj52UFvVxtYES7jWk+YIE/DN2JPRb4zYGrmu+hnojy1h4RubxRk 7mNoZAIO6b1z6TA1uuykdJxnY6mt3i3MgxlEJBP2Vh12KcXlMtsm/6FcOAScyc7o57C4 o80w== X-Gm-Message-State: AODbwcB7Wl7APhjubK9AnmDJVXWtMeV/ySqcikcuyTduEPrXsYeBISHn 6Mj05tXCMFvS9+HW4NA= X-Received: by 10.200.45.113 with SMTP id o46mr25653042qta.194.1495508600084; Mon, 22 May 2017 20:03:20 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:43 -0700 Message-Id: <20170523030312.6360-3-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH 02/31] target/s390x: Implement EXECUTE via new TranslationBlock X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Previously, helper_ex would construct the insn and then implement the insn via direct calls other helpers. This was sufficient to boot Linux but that is all. It is easy enough to go the whole nine yards by stashing state for EXECUTE within the cpu, and then relying on a new TB to be created that properly and completely interprets the insn. Signed-off-by: Richard Henderson --- target/s390x/cpu.h | 4 +- target/s390x/helper.h | 2 +- target/s390x/insn-data.def | 4 +- target/s390x/machine.c | 19 +++++++ target/s390x/mem_helper.c | 136 +++++++++++------------------------------= ---- target/s390x/translate.c | 124 +++++++++++++++++++++++++---------------- 6 files changed, 133 insertions(+), 156 deletions(-) diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h index 4f38ba0..79235cf 100644 --- a/target/s390x/cpu.h +++ b/target/s390x/cpu.h @@ -103,6 +103,8 @@ typedef struct CPUS390XState { uint64_t cc_dst; uint64_t cc_vr; =20 + uint64_t ex_value; + uint64_t __excp_addr; uint64_t psa; =20 @@ -391,7 +393,7 @@ static inline void cpu_get_tb_cpu_state(CPUS390XState* = env, target_ulong *pc, target_ulong *cs_base, uint32_t *f= lags) { *pc =3D env->psw.addr; - *cs_base =3D 0; + *cs_base =3D env->ex_value; *flags =3D ((env->psw.mask >> 32) & ~FLAG_MASK_CC) | ((env->psw.mask & PSW_MASK_32) ? FLAG_MASK_32 : 0); } diff --git a/target/s390x/helper.h b/target/s390x/helper.h index 1fae191..d6cc513 100644 --- a/target/s390x/helper.h +++ b/target/s390x/helper.h @@ -14,7 +14,7 @@ DEF_HELPER_4(srst, i64, env, i64, i64, i64) DEF_HELPER_4(clst, i64, env, i64, i64, i64) DEF_HELPER_4(mvpg, void, env, i64, i64, i64) DEF_HELPER_4(mvst, i64, env, i64, i64, i64) -DEF_HELPER_5(ex, i32, env, i32, i64, i64, i64) +DEF_HELPER_FLAGS_4(ex, TCG_CALL_NO_WG, void, env, i32, i64, i64) DEF_HELPER_FLAGS_4(stam, TCG_CALL_NO_WG, void, env, i32, i64, i32) DEF_HELPER_FLAGS_4(lam, TCG_CALL_NO_WG, void, env, i32, i64, i32) DEF_HELPER_4(mvcle, i32, env, i32, i64, i32) diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index cac0f51..3c3541c 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -327,9 +327,9 @@ C(0xeb57, XIY, SIY, LD, m1_8u, i2_8u, new, m1_8, xor, nz64) =20 /* EXECUTE */ - C(0x4400, EX, RX_a, Z, r1_o, a2, 0, 0, ex, 0) + C(0x4400, EX, RX_a, Z, 0, a2, 0, 0, ex, 0) /* EXECUTE RELATIVE LONG */ - C(0xc600, EXRL, RIL_b, EE, r1_o, ri2, 0, 0, ex, 0) + C(0xc600, EXRL, RIL_b, EE, 0, ri2, 0, 0, ex, 0) =20 /* EXTRACT ACCESS */ C(0xb24f, EAR, RRE, Z, 0, 0, new, r1_32, ear, 0) diff --git a/target/s390x/machine.c b/target/s390x/machine.c index 8503fa1..8f908bb 100644 --- a/target/s390x/machine.c +++ b/target/s390x/machine.c @@ -34,6 +34,7 @@ static int cpu_post_load(void *opaque, int version_id) =20 return 0; } + static void cpu_pre_save(void *opaque) { S390CPU *cpu =3D opaque; @@ -156,6 +157,23 @@ const VMStateDescription vmstate_riccb =3D { } }; =20 +static bool exval_needed(void *opaque) +{ + S390CPU *cpu =3D opaque; + return cpu->env.ex_value !=3D 0; +} + +const VMStateDescription vmstate_exval =3D { + .name =3D "cpu/exval", + .version_id =3D 1, + .minimum_version_id =3D 1, + .needed =3D exval_needed, + .fields =3D (VMStateField[]) { + VMSTATE_UINT64(env.ex_value, S390CPU), + VMSTATE_END_OF_LIST() + } +}; + const VMStateDescription vmstate_s390_cpu =3D { .name =3D "cpu", .post_load =3D cpu_post_load, @@ -188,6 +206,7 @@ const VMStateDescription vmstate_s390_cpu =3D { &vmstate_fpu, &vmstate_vregs, &vmstate_riccb, + &vmstate_exval, NULL }, }; diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index e3325a4..db80d53 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -405,115 +405,41 @@ uint64_t HELPER(mvst)(CPUS390XState *env, uint64_t c= , uint64_t d, uint64_t s) return d + len; } =20 -static uint32_t helper_icm(CPUS390XState *env, uint32_t r1, uint64_t addre= ss, - uint32_t mask) -{ - int pos =3D 24; /* top of the lower half of r1 */ - uint64_t rmask =3D 0xff000000ULL; - uint8_t val =3D 0; - int ccd =3D 0; - uint32_t cc =3D 0; +/* Execute instruction. This instruction executes an insn modified with + the contents of r1. It does not change the executed instruction in mem= ory; + it does not change the program counter. =20 - while (mask) { - if (mask & 8) { - env->regs[r1] &=3D ~rmask; - val =3D cpu_ldub_data(env, address); - if ((val & 0x80) && !ccd) { - cc =3D 1; - } - ccd =3D 1; - if (val && cc =3D=3D 0) { - cc =3D 2; - } - env->regs[r1] |=3D (uint64_t)val << pos; - address++; - } - mask =3D (mask << 1) & 0xf; - pos -=3D 8; - rmask >>=3D 8; - } - - return cc; -} - -/* execute instruction - this instruction executes an insn modified with the contents of r1 - it does not change the executed instruction in memory - it does not change the program counter - in other words: tricky... - currently implemented by interpreting the cases it is most commonly use= d in + Perform this by recording the modified instruction in env->ex_value. + This will be noticed by cpu_get_tb_cpu_state and thus tb translation. */ -uint32_t HELPER(ex)(CPUS390XState *env, uint32_t cc, uint64_t v1, - uint64_t addr, uint64_t ret) +void HELPER(ex)(CPUS390XState *env, uint32_t ilen, uint64_t v1, uint64_t a= ddr) { - S390CPU *cpu =3D s390_env_get_cpu(env); - uint16_t insn =3D cpu_lduw_code(env, addr); - - HELPER_LOG("%s: v1 0x%lx addr 0x%lx insn 0x%x\n", __func__, v1, addr, - insn); - if ((insn & 0xf0ff) =3D=3D 0xd000) { - uint32_t l, insn2, b1, b2, d1, d2; - - l =3D v1 & 0xff; - insn2 =3D cpu_ldl_code(env, addr + 2); - b1 =3D (insn2 >> 28) & 0xf; - b2 =3D (insn2 >> 12) & 0xf; - d1 =3D (insn2 >> 16) & 0xfff; - d2 =3D insn2 & 0xfff; - switch (insn & 0xf00) { - case 0x200: - helper_mvc(env, l, get_address(env, 0, b1, d1), - get_address(env, 0, b2, d2)); - break; - case 0x400: - cc =3D helper_nc(env, l, get_address(env, 0, b1, d1), - get_address(env, 0, b2, d2)); - break; - case 0x500: - cc =3D helper_clc(env, l, get_address(env, 0, b1, d1), - get_address(env, 0, b2, d2)); - break; - case 0x600: - cc =3D helper_oc(env, l, get_address(env, 0, b1, d1), - get_address(env, 0, b2, d2)); - break; - case 0x700: - cc =3D helper_xc(env, l, get_address(env, 0, b1, d1), - get_address(env, 0, b2, d2)); - break; - case 0xc00: - helper_tr(env, l, get_address(env, 0, b1, d1), - get_address(env, 0, b2, d2)); - break; - case 0xd00: - cc =3D helper_trt(env, l, get_address(env, 0, b1, d1), - get_address(env, 0, b2, d2)); - break; - default: - goto abort; - } - } else if ((insn & 0xff00) =3D=3D 0x0a00) { - /* supervisor call */ - HELPER_LOG("%s: svc %ld via execute\n", __func__, (insn | v1) & 0x= ff); - env->psw.addr =3D ret - 4; - env->int_svc_code =3D (insn | v1) & 0xff; - env->int_svc_ilen =3D 4; - helper_exception(env, EXCP_SVC); - } else if ((insn & 0xff00) =3D=3D 0xbf00) { - uint32_t insn2, r1, r3, b2, d2; - - insn2 =3D cpu_ldl_code(env, addr + 2); - r1 =3D (insn2 >> 20) & 0xf; - r3 =3D (insn2 >> 16) & 0xf; - b2 =3D (insn2 >> 12) & 0xf; - d2 =3D insn2 & 0xfff; - cc =3D helper_icm(env, r1, get_address(env, 0, b2, d2), r3); - } else { - abort: - cpu_abort(CPU(cpu), "EXECUTE on instruction prefix 0x%x not implem= ented\n", - insn); + uintptr_t ra =3D GETPC(); + uint64_t insn =3D cpu_lduw_code_ra(env, addr, ra); + + /* Or in the contents of R1[56:63]. */ + insn |=3D v1 & 0xff; + + /* Load the rest of the instruction. */ + insn <<=3D 48; + switch (get_ilen(insn >> 56)) { + case 2: + break; + case 4: + insn |=3D (uint64_t)cpu_lduw_code_ra(env, addr + 2, ra) << 32; + break; + case 6: + insn |=3D (uint64_t)(uint32_t)cpu_ldl_code_ra(env, addr + 2, ra) <= < 16; + break; + default: + g_assert_not_reached(); } - return cc; + + /* Record the insn we want to execute as well as the ilen to use + during the execution of the target insn. This will also ensure + that ex_value is non-zero, which flags that we are in a state + that requires such execution. */ + env->ex_value =3D insn | ilen; } =20 /* load access registers r1 to r3 from memory at a2 */ diff --git a/target/s390x/translate.c b/target/s390x/translate.c index d6736e4..3a72c38 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -57,7 +57,9 @@ struct DisasContext { struct TranslationBlock *tb; const DisasInsn *insn; DisasFields *fields; + uint64_t ex_value; uint64_t pc, next_pc; + uint32_t ilen; enum cc_op cc_op; bool singlestep_enabled; }; @@ -349,7 +351,7 @@ static void gen_program_exception(DisasContext *s, int = code) tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUS390XState, int_pgm_code)); tcg_temp_free_i32(tmp); =20 - tmp =3D tcg_const_i32(s->next_pc - s->pc); + tmp =3D tcg_const_i32(s->ilen); tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUS390XState, int_pgm_ilen)); tcg_temp_free_i32(tmp); =20 @@ -2153,27 +2155,30 @@ static ExitStatus op_epsw(DisasContext *s, DisasOps= *o) =20 static ExitStatus op_ex(DisasContext *s, DisasOps *o) { - /* ??? Perhaps a better way to implement EXECUTE is to set a bit in - tb->flags, (ab)use the tb->cs_base field as the address of - the template in memory, and grab 8 bits of tb->flags/cflags for - the contents of the register. We would then recognize all this - in gen_intermediate_code_internal, generating code for exactly - one instruction. This new TB then gets executed normally. - - On the other hand, this seems to be mostly used for modifying - MVC inside of memcpy, which needs a helper call anyway. So - perhaps this doesn't bear thinking about any further. */ - - TCGv_i64 tmp; + int r1 =3D get_field(s->fields, r1); + TCGv_i32 ilen; + TCGv v1; =20 - update_psw_addr(s); - gen_op_calc_cc(s); + /* Nested EXECUTE is not allowed. */ + if (unlikely(s->ex_value)) { + gen_program_exception(s, PGM_EXECUTE); + return EXIT_NORETURN; + } =20 - tmp =3D tcg_const_i64(s->next_pc); - gen_helper_ex(cc_op, cpu_env, cc_op, o->in1, o->in2, tmp); - tcg_temp_free_i64(tmp); + if (r1 =3D=3D 0) { + v1 =3D tcg_const_i64(0); + } else { + v1 =3D regs[r1]; + } + ilen =3D tcg_const_i32(s->ilen); + gen_helper_ex(cpu_env, ilen, v1, o->in2); + tcg_temp_free_i32(ilen); + if (r1 =3D=3D 0) { + tcg_temp_free_i64(v1); + } =20 - return NO_EXIT; + /* End the TB; a new TB will be created for modified insn. */ + return EXIT_PC_STALE; } =20 static ExitStatus op_fieb(DisasContext *s, DisasOps *o) @@ -4027,7 +4032,7 @@ static ExitStatus op_svc(DisasContext *s, DisasOps *o) tcg_gen_st_i32(t, cpu_env, offsetof(CPUS390XState, int_svc_code)); tcg_temp_free_i32(t); =20 - t =3D tcg_const_i32(s->next_pc - s->pc); + t =3D tcg_const_i32(s->ilen); tcg_gen_st_i32(t, cpu_env, offsetof(CPUS390XState, int_svc_ilen)); tcg_temp_free_i32(t); =20 @@ -5169,23 +5174,38 @@ static const DisasInsn *extract_insn(CPUS390XState = *env, DisasContext *s, int op, op2, ilen; const DisasInsn *info; =20 - insn =3D ld_code2(env, pc); - op =3D (insn >> 8) & 0xff; - ilen =3D get_ilen(op); - s->next_pc =3D s->pc + ilen; - - switch (ilen) { - case 2: - insn =3D insn << 48; - break; - case 4: - insn =3D ld_code4(env, pc) << 32; - break; - case 6: - insn =3D (insn << 48) | (ld_code4(env, pc + 2) << 16); - break; - default: - abort(); + if (unlikely(s->ex_value)) { + /* Drop the EX data now, so that it's clear on exception paths. */ + TCGv_i64 zero =3D tcg_const_i64(0); + tcg_gen_st_i64(zero, cpu_env, offsetof(CPUS390XState, ex_value)); + tcg_temp_free_i64(zero); + + /* Extract the values saved by EXECUTE. */ + insn =3D s->ex_value & 0xffffffffffff0000ull; + ilen =3D s->ex_value & 0xff; + op =3D insn >> 56; + s->ilen =3D ilen; + s->next_pc =3D s->pc; + } else { + insn =3D ld_code2(env, pc); + op =3D (insn >> 8) & 0xff; + ilen =3D get_ilen(op); + s->ilen =3D ilen; + s->next_pc =3D s->pc + ilen; + + switch (ilen) { + case 2: + insn =3D insn << 48; + break; + case 4: + insn =3D ld_code4(env, pc) << 32; + break; + case 6: + insn =3D (insn << 48) | (ld_code4(env, pc + 2) << 16); + break; + default: + g_assert_not_reached(); + } } =20 /* We can't actually determine the insn format until we've looked up @@ -5403,6 +5423,7 @@ void gen_intermediate_code(CPUS390XState *env, struct= TranslationBlock *tb) dc.tb =3D tb; dc.pc =3D pc_start; dc.cc_op =3D CC_OP_DYNAMIC; + dc.ex_value =3D tb->cs_base; do_debug =3D dc.singlestep_enabled =3D cs->singlestep_enabled; =20 next_page_start =3D (pc_start & TARGET_PAGE_MASK) + TARGET_PAGE_SIZE; @@ -5444,13 +5465,17 @@ void gen_intermediate_code(CPUS390XState *env, stru= ct TranslationBlock *tb) =20 /* If we reach a page boundary, are single stepping, or exhaust instruction count, stop generation. */ - if (status =3D=3D NO_EXIT - && (dc.pc >=3D next_page_start - || tcg_op_buf_full() - || num_insns >=3D max_insns - || singlestep - || cs->singlestep_enabled)) { - status =3D EXIT_PC_STALE; + if (status =3D=3D NO_EXIT) { + if (unlikely(dc.ex_value)) { + /* The PC on entry is already advanced. */ + status =3D EXIT_PC_UPDATED; + } else if (dc.pc >=3D next_page_start + || tcg_op_buf_full() + || num_insns >=3D max_insns + || singlestep + || cs->singlestep_enabled) { + status =3D EXIT_PC_STALE; + } } } while (status =3D=3D NO_EXIT); =20 @@ -5489,9 +5514,14 @@ void gen_intermediate_code(CPUS390XState *env, struc= t TranslationBlock *tb) if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM) && qemu_log_in_addr_range(pc_start)) { qemu_log_lock(); - qemu_log("IN: %s\n", lookup_symbol(pc_start)); - log_target_disas(cs, pc_start, dc.pc - pc_start, 1); - qemu_log("\n"); + if (unlikely(dc.ex_value)) { + /* ??? Unfortunately log_target_disas can't use host memory. = */ + qemu_log("IN: EXECUTE %016" PRIx64 "\n", dc.ex_value); + } else { + qemu_log("IN: %s\n", lookup_symbol(pc_start)); + log_target_disas(cs, pc_start, dc.pc - pc_start, 1); + qemu_log("\n"); + } qemu_log_unlock(); } #endif --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 14955087292191005.8230857462653; Mon, 22 May 2017 20:05:29 -0700 (PDT) Received: from localhost ([::1]:45857 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD08V-0006ps-Sw for importer@patchew.org; Mon, 22 May 2017 23:05:27 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54707) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06U-0005Yy-Qv for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06U-0003gs-3u for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:22 -0400 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:36061) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06U-0003gl-0H for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:22 -0400 Received: by mail-qt0-x244.google.com with SMTP id j13so20679219qta.3 for ; Mon, 22 May 2017 20:03:21 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.20 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=xY8WOZ8Hk4FxFjXucyvueYL+IrGBxfHaGe16HgqVNG0=; b=JykRpyabXn5zmts/tA9AqpOLNKnkW5wMtimU90E2895tr5oNMzQJq8oN2ElQKlXqy5 AGk8rylfuhXpFoiAvWyb51POZG/HZ9exY3REm+StlUv9iaGtm3iuPwi9tCizv2DfbjyK tb3kz6wHyGvofcUjCtjXb9yVqz9GafaNc6InVDGLIuFA5MFantfvZ16WBguZLRmInPHY OL3wfbxgzOBO9LCjwTflXvxZRFAJAt/QHVsqqM/ZwM/lAeddIH4eL1H96lmG1kKu4VNz 2uqpLpGrmUr/XlzQKI5I5K8+x+mKPPkvy0gmkYxN037c2t9QegKJgR/tJo4l95q1sG7g hVpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=xY8WOZ8Hk4FxFjXucyvueYL+IrGBxfHaGe16HgqVNG0=; b=RKHTB6YAAze+TFdzMjuuArc5eIJfEeYmueg2eRysMQetgi3EIkJIF0MEhtA3zcCvDa fLxZmybmL2XwALwvXo+lrfLXgpX0uji7CxZo1VgtRZv2oDKz0IQMbbAf4tUZt5+bCTk0 AyrAdBxNQeTkuQE9X43vnYGOmF7i5UQjDUAU+3M/C8hlZR1MVPyBJe9RNNWFa4Vqfjg1 QH8ZEmpoQyQZVrY1lVqClxmDTx7rqyUkUD2aXwv5s/w5rimFq/6G76FA3jeHwe1lU8Da m1eknvI2I17BoZqICIzZFHkxH0W8WJy3LFZC13uw2ZcZqWUaJAE163SGrrTSafWdzBbU xDnQ== X-Gm-Message-State: AODbwcCMtaPMFUgHdPoiligJQa/dRYXGJZzOZCxE13UDbYZ+6OeIuMDG qQRPF1g/SlqCld3vrvM= X-Received: by 10.200.37.201 with SMTP id f9mr27524151qtf.138.1495508601264; Mon, 22 May 2017 20:03:21 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:44 -0700 Message-Id: <20170523030312.6360-4-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH 03/31] target/s390x: Use unwind data for helper_nc X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 18 +++++++++--------- target/s390x/translate.c | 1 - 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index db80d53..1018fe0 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -122,20 +122,20 @@ static void fast_memmove(CPUS390XState *env, uint64_t= dest, uint64_t src, uint32_t HELPER(nc)(CPUS390XState *env, uint32_t l, uint64_t dest, uint64_t src) { - int i; - unsigned char x; - uint32_t cc =3D 0; + uintptr_t ra =3D GETPC(); + uint8_t cc =3D 0; + uint32_t i; =20 HELPER_LOG("%s l %d dest %" PRIx64 " src %" PRIx64 "\n", __func__, l, dest, src); + for (i =3D 0; i <=3D l; i++) { - x =3D cpu_ldub_data(env, dest + i) & cpu_ldub_data(env, src + i); - if (x) { - cc =3D 1; - } - cpu_stb_data(env, dest + i, x); + uint8_t x =3D cpu_ldub_data_ra(env, dest + i, ra); + x &=3D cpu_ldub_data_ra(env, src + i, ra); + cc |=3D x; + cpu_stb_data_ra(env, dest + i, x, ra); } - return cc; + return cc !=3D 0; } =20 /* xor on array */ diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 3a72c38..6aa9c90 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -3048,7 +3048,6 @@ static ExitStatus op_nabsf128(DisasContext *s, DisasO= ps *o) static ExitStatus op_nc(DisasContext *s, DisasOps *o) { TCGv_i32 l =3D tcg_const_i32(get_field(s->fields, l1)); - potential_page_fault(s); gen_helper_nc(cc_op, cpu_env, l, o->addr1, o->in2); tcg_temp_free_i32(l); set_cc_static(s); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495508888212933.1603927238237; Mon, 22 May 2017 20:08:08 -0700 (PDT) Received: from localhost ([::1]:45870 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0B4-0000k8-Q7 for importer@patchew.org; Mon, 22 May 2017 23:08:06 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54727) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06W-0005aI-R2 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06V-0003i7-Rl for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:24 -0400 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]:36858) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06V-0003hk-O7 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:23 -0400 Received: by mail-qk0-x244.google.com with SMTP id y128so21473359qka.3 for ; Mon, 22 May 2017 20:03:23 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.21 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=O19mvqR9Sdetx2bKaz9xBgepzDPmrcicVsZBgHSHZXg=; b=WMib3fZRl0l+D7ipZ+dEnQFxaf/4QGmfwvsXere6J7D4nJbLDMtJ3UEu6fx2A7T1rs vxAznNXp1zwyOu+wSB2RVQG+dcf2LVJ3KeRAdsUa6YpLAevR9EysgOjSwrwvI/cpm6Zt 7pMPVh7tIzK/LRza7prcz2gShSK6+aB9otLVoPy3OGk5BaJXGHxwg9ZAQ1J1djB79sPI Oh7JhChVsGAmh1fqfn8gf/3jiJX2yXRH3a8UOJXN4P6zjmVIu/PIgCN9487NBE3EZ5vl t7uJ0M1jtdq7GcoOPMEk4aRv3/yVf559HZyuqKhrUPWH/pgeUDtn2ZAxYE/iBZOs27ou 013A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=O19mvqR9Sdetx2bKaz9xBgepzDPmrcicVsZBgHSHZXg=; b=hw5/H4udTKPnEsgEs0+eMzoPvJeU3dMqsCN4UBGjlCi8F0s364Fz4VkEpjuO5MJteQ rVa+5p5QRbczu1j8UoNBQlof1LpOlHtuNEVYLMDk4z5vkdo88v8KKXrCKLSK3p/PxcDf 5w4fAeX1qH7AVo9FB26WrqKPNstlcHuMEizpy0EBjPgrYgUZqpnsn19oO0oVdlZtW8QW IgfoN9bapPvtpyEJ+cl/ezGi0bhTnCpinbs2h6JCbT7s7xG3yM/ViGmYP2vloICKwDVO weIj5E7wiaup7/F/Mnv5piadiyv1qrdzho1HNfzWevn4NdpaaFNidkhLgRojkiLyJ3aL qqXA== X-Gm-Message-State: AODbwcAxu4UQAVyTJ0uP4DezyFPxNPzyj4MywmZ8N4v1hhKrvFP5vv+X o8tzWvn0cTe9FqbD1ic= X-Received: by 10.55.191.67 with SMTP id p64mr24144076qkf.149.1495508602894; Mon, 22 May 2017 20:03:22 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:45 -0700 Message-Id: <20170523030312.6360-5-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::244 Subject: [Qemu-devel] [PATCH 04/31] target/s390x: Use unwind data for helper_xc X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 25 ++++++++++++------------- target/s390x/translate.c | 1 - 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 1018fe0..e0a6fad 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -68,7 +68,7 @@ static inline uint64_t adj_len_to_page(uint64_t len, uint= 64_t addr) } =20 static void fast_memset(CPUS390XState *env, uint64_t dest, uint8_t byte, - uint32_t l) + uint32_t l, uintptr_t ra) { int mmu_idx =3D cpu_mmu_index(env, false); =20 @@ -83,7 +83,7 @@ static void fast_memset(CPUS390XState *env, uint64_t dest= , uint8_t byte, } else { /* We failed to get access to the whole page. The next write access will likely fill the QEMU TLB for the next iteration= . */ - cpu_stb_data(env, dest, byte); + cpu_stb_data_ra(env, dest, byte, ra); dest++; l--; } @@ -142,27 +142,26 @@ uint32_t HELPER(nc)(CPUS390XState *env, uint32_t l, u= int64_t dest, uint32_t HELPER(xc)(CPUS390XState *env, uint32_t l, uint64_t dest, uint64_t src) { - int i; - unsigned char x; - uint32_t cc =3D 0; + uintptr_t ra =3D GETPC(); + uint8_t cc =3D 0; + uint32_t i; =20 HELPER_LOG("%s l %d dest %" PRIx64 " src %" PRIx64 "\n", __func__, l, dest, src); =20 /* xor with itself is the same as memset(0) */ if (src =3D=3D dest) { - fast_memset(env, dest, 0, l + 1); + fast_memset(env, dest, 0, l + 1, ra); return 0; } =20 for (i =3D 0; i <=3D l; i++) { - x =3D cpu_ldub_data(env, dest + i) ^ cpu_ldub_data(env, src + i); - if (x) { - cc =3D 1; - } - cpu_stb_data(env, dest + i, x); + uint8_t x =3D cpu_ldub_data_ra(env, dest + i, ra); + x ^=3D cpu_ldub_data_ra(env, src + i, ra); + cc |=3D x; + cpu_stb_data_ra(env, dest + i, x, ra); } - return cc; + return cc !=3D 0; } =20 /* or on array */ @@ -196,7 +195,7 @@ void HELPER(mvc)(CPUS390XState *env, uint32_t l, uint64= _t dest, uint64_t src) /* mvc with source pointing to the byte after the destination is the same as memset with the first source byte */ if (dest =3D=3D (src + 1)) { - fast_memset(env, dest, cpu_ldub_data(env, src), l + 1); + fast_memset(env, dest, cpu_ldub_data(env, src), l + 1, 0); return; } =20 diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 6aa9c90..a770407 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -4166,7 +4166,6 @@ static ExitStatus op_xc(DisasContext *s, DisasOps *o) /* But in general we'll defer to a helper. */ o->in2 =3D get_address(s, 0, b2, d2); t32 =3D tcg_const_i32(l); - potential_page_fault(s); gen_helper_xc(cc_op, cpu_env, t32, o->addr1, o->in2); tcg_temp_free_i32(t32); set_cc_static(s); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495508880080156.3594992283381; Mon, 22 May 2017 20:08:00 -0700 (PDT) Received: from localhost ([::1]:45869 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0Aw-0000di-Kt for importer@patchew.org; Mon, 22 May 2017 23:07:58 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54742) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06X-0005b4-SK for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06W-0003is-Ve for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:25 -0400 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:34192) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06W-0003iZ-Sc for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:24 -0400 Received: by mail-qt0-x241.google.com with SMTP id l39so20703612qtb.1 for ; Mon, 22 May 2017 20:03:24 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.23 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=9lRGJXKoH7uAbfTu690eysU/lFhgUt8nTyTnzsd3W7w=; b=Ng4swBHuMa5/pbWspNISoH+l7g2MJbpdgNgRSnsFeBr6sv0Lh5IB2AtVeJfVAQ9BsZ ncqdoUrM+kIt6192HmhNN7zNhRVmuJ103znKra0wZv7wQ5gVRFO8lcGJd05rniM1F88Q 6YdXoaoDNHYruMOw443IiZF9FnfLquY2KCffDZvDZIMmrYnc6QoSZpvInxOsDBbCNjwh VOgrOHoUwFLj/rRX7TKvL3O/DuZ1b1ELdOEs3oWLTX/GANJWnLZwSzeXICISG2CGo452 Vfp+xXeA8Eoq8mOdpmvYof19d1x4VPArfGucpn5e987Py1DOl1cN4a2elX/F3Nfep2DB DsLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=9lRGJXKoH7uAbfTu690eysU/lFhgUt8nTyTnzsd3W7w=; b=FY4dTfAPfJYNrGDXbMe0YPbbmx6BSddAoEQWDnUXhzazeLcrf5TORuJMSY5kTJCkIt M/AZ2b6I0nyzf6D10BFFj6w8R+doMciZtmQHWuJNHgwGIsuFisqtc1GSenKDHaKXlYOC QHQv+ZGuDMKP+rV0PANwejxGthtL4KQoyHM9beUPg4OkHDz9K/cvPbU34SG14S0RgN3s ayrzdHfctWG9tDqNz329ZnNEbyaLOgklbcv8K0Ccwwstzly5T9IhuPabIvIt1IwVADG0 aD1k6GRw52vUcUZoHt5emWxRSy1M9+LVxOSV4KyU0e1aM4xoJqZh43uJjz+Gj918ENCK 3NMg== X-Gm-Message-State: AODbwcCtW0BmqfG16MYbk9slsjpPgPAiRkHFDRfYoCxi1wtITqjYVfwl go1I8CdRAo07V5LOwcE= X-Received: by 10.200.56.56 with SMTP id q53mr23540082qtb.36.1495508604048; Mon, 22 May 2017 20:03:24 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:46 -0700 Message-Id: <20170523030312.6360-6-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH 05/31] target/s390x: Use unwind data for helper_oc X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 18 +++++++++--------- target/s390x/translate.c | 1 - 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index e0a6fad..e75c2de0 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -168,20 +168,20 @@ uint32_t HELPER(xc)(CPUS390XState *env, uint32_t l, u= int64_t dest, uint32_t HELPER(oc)(CPUS390XState *env, uint32_t l, uint64_t dest, uint64_t src) { - int i; - unsigned char x; - uint32_t cc =3D 0; + uintptr_t ra =3D GETPC(); + uint8_t cc =3D 0; + uint32_t i; =20 HELPER_LOG("%s l %d dest %" PRIx64 " src %" PRIx64 "\n", __func__, l, dest, src); + for (i =3D 0; i <=3D l; i++) { - x =3D cpu_ldub_data(env, dest + i) | cpu_ldub_data(env, src + i); - if (x) { - cc =3D 1; - } - cpu_stb_data(env, dest + i, x); + uint8_t x =3D cpu_ldub_data_ra(env, dest + i, ra); + x |=3D cpu_ldub_data_ra(env, src + i, ra); + cc |=3D x; + cpu_stb_data_ra(env, dest + i, x, ra); } - return cc; + return cc !=3D 0; } =20 /* memmove */ diff --git a/target/s390x/translate.c b/target/s390x/translate.c index a770407..6a51d56 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -3082,7 +3082,6 @@ static ExitStatus op_negf128(DisasContext *s, DisasOp= s *o) static ExitStatus op_oc(DisasContext *s, DisasOps *o) { TCGv_i32 l =3D tcg_const_i32(get_field(s->fields, l1)); - potential_page_fault(s); gen_helper_oc(cc_op, cpu_env, l, o->addr1, o->in2); tcg_temp_free_i32(l); set_cc_static(s); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509037959291.0775498798188; Mon, 22 May 2017 20:10:37 -0700 (PDT) Received: from localhost ([::1]:45884 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0DU-0002rm-AV for importer@patchew.org; Mon, 22 May 2017 23:10:36 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54755) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06Z-0005bz-32 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06Y-0003jg-5m for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:27 -0400 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:33127) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06Y-0003jL-1j for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:26 -0400 Received: by mail-qt0-x242.google.com with SMTP id a46so20683521qte.0 for ; Mon, 22 May 2017 20:03:25 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.24 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=SSKzlsRCclFwh8W960Q/f2OpLNXlcS4w1U0PJPbtGAE=; b=jFPI7vfzslBon8k6xH70/EBYgSzTBw9iD8UZZC75LGudU7v13aN6Rr9e2j2GyfV2Tt 5hwaoR1c7dGpiD1Kerla2iNwuBMKUOj/NaYoz5bKU/0skGhpn1zifMmxuGHYzrwoL8kE Ato7ZqoR9N23b68hFgCZaCgBjnWFhEg2QEkKcaVWIkyd1zz9QUoW/Uq5IXVVoifKve/y Tki4D5kCrt3j21zlatoc1OMP2SYv9FKyI9FkhoBoBoPKzXX+4KcrYImbAy8+gUPwyfCq URmU90O9hogukqYpPPznf8VltfZF6cYv3yC1tJVZbo1+o/fYUnaRJN60IyhyfnPQ8ZiB NEyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=SSKzlsRCclFwh8W960Q/f2OpLNXlcS4w1U0PJPbtGAE=; b=PMMecsgcNMm5tUxWktxeQ7Aa0cvCVA5Y1DcSPpdKLccXt4+EOJRaNV3Pagnqwp7lfr p65i21GY5WmaproNeaXJKVnIFVS+rIPDikgYmTv1S2v4O0nkq3p/7NirXgTDi4RM9JEY n3uQvEqeehjFyZm2zk4tOJggDakUx0VHh6UnMbwuI25w1amuIDYatrofVsIzWjRqPjCF 0ei4wfrJ7PXiDoOeB1tQGeivGX8gQPSMjaWV6Fbf8jUqJJnr2TCNq65NoOxc9Zh/PiTQ BArTHR0BnZusvT3JJ4txY4CRawkRcEl7+gdXeWJPAPACYqdpmdUbaAuxP5hjPY7cNxnD Fq4w== X-Gm-Message-State: AODbwcDGGSLjZqlN/2UKtlH8xf7/0if41s8ua2/RaYuuQGV4/XjnN7DT SuWiLMl43WFQ4O3+OQw= X-Received: by 10.200.9.76 with SMTP id z12mr26837559qth.102.1495508605208; Mon, 22 May 2017 20:03:25 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:47 -0700 Message-Id: <20170523030312.6360-7-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH 06/31] target/s390x: Use unwind data for helper_mvc X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 19 ++++++++++--------- target/s390x/translate.c | 1 - 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index e75c2de0..0295485 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -91,7 +91,7 @@ static void fast_memset(CPUS390XState *env, uint64_t dest= , uint8_t byte, } =20 static void fast_memmove(CPUS390XState *env, uint64_t dest, uint64_t src, - uint32_t l) + uint32_t l, uintptr_t ra) { int mmu_idx =3D cpu_mmu_index(env, false); =20 @@ -110,7 +110,7 @@ static void fast_memmove(CPUS390XState *env, uint64_t d= est, uint64_t src, /* We failed to get access to one or both whole pages. The next read or write access will likely fill the QEMU TLB for the next iteration. */ - cpu_stb_data(env, dest, cpu_ldub_data(env, src)); + cpu_stb_data_ra(env, dest, cpu_ldub_data_ra(env, src, ra), ra); src++; dest++; l--; @@ -187,27 +187,28 @@ uint32_t HELPER(oc)(CPUS390XState *env, uint32_t l, u= int64_t dest, /* memmove */ void HELPER(mvc)(CPUS390XState *env, uint32_t l, uint64_t dest, uint64_t s= rc) { - int i =3D 0; + uintptr_t ra =3D GETPC(); + uint32_t i; =20 HELPER_LOG("%s l %d dest %" PRIx64 " src %" PRIx64 "\n", __func__, l, dest, src); =20 /* mvc with source pointing to the byte after the destination is the same as memset with the first source byte */ - if (dest =3D=3D (src + 1)) { - fast_memset(env, dest, cpu_ldub_data(env, src), l + 1, 0); + if (dest =3D=3D src + 1) { + fast_memset(env, dest, cpu_ldub_data_ra(env, src, ra), l + 1, ra); return; } =20 /* mvc and memmove do not behave the same when areas overlap! */ - if ((dest < src) || (src + l < dest)) { - fast_memmove(env, dest, src, l + 1); + if (dest < src || src + l < dest) { + fast_memmove(env, dest, src, l + 1, ra); return; } =20 /* slow version with byte accesses which always work */ for (i =3D 0; i <=3D l; i++) { - cpu_stb_data(env, dest + i, cpu_ldub_data(env, src + i)); + cpu_stb_data_ra(env, dest + i, cpu_ldub_data_ra(env, src + i, ra),= ra); } } =20 @@ -373,7 +374,7 @@ void HELPER(mvpg)(CPUS390XState *env, uint64_t r0, uint= 64_t r1, uint64_t r2) { /* XXX missing r0 handling */ env->cc_op =3D 0; - fast_memmove(env, r1, r2, TARGET_PAGE_SIZE); + fast_memmove(env, r1, r2, TARGET_PAGE_SIZE, 0); } =20 /* string copy (c is string terminator) */ diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 6a51d56..66f3cd6 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2871,7 +2871,6 @@ static ExitStatus op_movx(DisasContext *s, DisasOps *= o) static ExitStatus op_mvc(DisasContext *s, DisasOps *o) { TCGv_i32 l =3D tcg_const_i32(get_field(s->fields, l1)); - potential_page_fault(s); gen_helper_mvc(cpu_env, l, o->addr1, o->in2); tcg_temp_free_i32(l); return NO_EXIT; --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495508935500323.76555496750655; Mon, 22 May 2017 20:08:55 -0700 (PDT) Received: from localhost ([::1]:45872 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0Bq-0001Oy-4z for importer@patchew.org; Mon, 22 May 2017 23:08:54 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54762) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06Z-0005cc-VL for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06Z-0003ka-57 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:27 -0400 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:35317) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06Z-0003kF-0g for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:27 -0400 Received: by mail-qt0-x241.google.com with SMTP id r58so20674772qtb.2 for ; Mon, 22 May 2017 20:03:26 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.25 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=53IkC8R8QZpe/Km/je0ip5WE0O/8WJ06yPBsYaUcxZ0=; b=oiPW0BtdeQj/wjTWm+mjOlShp50oqTeyr1I5fQGhBXaTi5ZLUwJpkpAOGIgnkRFEHF yyEN7x6Na5ufiPD7nsWDWiTwVBRHakpMs74outkuYgTjkPks4tJs6+cK/Vn8GxuncHs9 ujesvCEQRUfntVWCwMIFcwlWV+AkWK/DVgv3D4wDUsbWOy9WyI2+oiCk4lBaXWvLsBqU OaFowp06mzha8+/dXVW5tPpDpw6J6/vxMMfHMwVszIWBXC4GS0fqNSS7CtsSI4kYDBKj BeFJia+b2SaiUcqWPvGWzXOQh+iW0Kf0B/E2VyUFjCqSigkutX2WRh3K81XVasNEnW1B axCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=53IkC8R8QZpe/Km/je0ip5WE0O/8WJ06yPBsYaUcxZ0=; b=htO4VOkMjZdwgJFU84/cBbF1gnmX5kE5K2znj5yAGQkQBJQmJKnU1EA/Ckbk39tj2t OC0YMLav7pcJv7S5N6vt7xDeKcjPcR6kLnFbr0kyWqYwfTObBnJPEAK6SS/nj6/OsC8a d8B6ei6L9QAs/44mVR3DN6dKUvSTqOcPnv5JMeAHbjRrD/+VvgOE/VR2HHK45i85cfe2 m0KGAwgnppb9DWQo94yxZj6WzcOsC+NcVrZSOaPAkEp2OaxhLOEBuubLogqEQs01AHDB hkb2pADlS2ePI+PsjP5haYAwEirtB6uUygddTVn3eG105TaQfYQDfZqXWTS3sQ/22Alu zQ+w== X-Gm-Message-State: AODbwcDH4R12/NXWT0YdkW6MHFODCjZi5ODtaan9pYk5GyoQf6lFtNxQ xj/+pe78c+y31xYNtFg= X-Received: by 10.200.46.217 with SMTP id i25mr23667619qta.188.1495508606301; Mon, 22 May 2017 20:03:26 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:48 -0700 Message-Id: <20170523030312.6360-8-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH 07/31] target/s390x: Use unwind data for helper_clc X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 18 +++++++++--------- target/s390x/translate.c | 1 - 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 0295485..d04850b 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -215,26 +215,26 @@ void HELPER(mvc)(CPUS390XState *env, uint32_t l, uint= 64_t dest, uint64_t src) /* compare unsigned byte arrays */ uint32_t HELPER(clc)(CPUS390XState *env, uint32_t l, uint64_t s1, uint64_t= s2) { - int i; - unsigned char x, y; - uint32_t cc; + uintptr_t ra =3D GETPC(); + uint32_t cc =3D 0; + uint32_t i; =20 HELPER_LOG("%s l %d s1 %" PRIx64 " s2 %" PRIx64 "\n", __func__, l, s1, s2); + for (i =3D 0; i <=3D l; i++) { - x =3D cpu_ldub_data(env, s1 + i); - y =3D cpu_ldub_data(env, s2 + i); + uint8_t x =3D cpu_ldub_data_ra(env, s1 + i, ra); + uint8_t y =3D cpu_ldub_data_ra(env, s2 + i, ra); HELPER_LOG("%02x (%c)/%02x (%c) ", x, x, y, y); if (x < y) { cc =3D 1; - goto done; + break; } else if (x > y) { cc =3D 2; - goto done; + break; } } - cc =3D 0; - done: + HELPER_LOG("\n"); return cc; } diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 66f3cd6..aefbc90 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -1903,7 +1903,6 @@ static ExitStatus op_clc(DisasContext *s, DisasOps *o) tcg_gen_qemu_ld64(cc_dst, o->in2, get_mem_index(s)); break; default: - potential_page_fault(s); vl =3D tcg_const_i32(l); gen_helper_clc(cc_op, cpu_env, vl, o->addr1, o->in2); tcg_temp_free_i32(vl); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 149550903299980.84012574904762; Mon, 22 May 2017 20:10:32 -0700 (PDT) Received: from localhost ([::1]:45882 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0DO-0002ih-TX for importer@patchew.org; Mon, 22 May 2017 23:10:30 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54786) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06b-0005e9-7u for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06a-0003lx-Cz for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:29 -0400 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:35840) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06a-0003lN-9k for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:28 -0400 Received: by mail-qk0-x241.google.com with SMTP id y128so21473504qka.3 for ; Mon, 22 May 2017 20:03:28 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.26 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=hdHWeOCv2HilyzONPEC6/AODU3C/PwX6VAhp2SzmBHE=; b=gGz2dRJV0W+nX77NG1PcdHghyeCKgzbQNk7m+qoNLOA1ZPHAHcoIRAMHt+MdpOlxYW eEUd69sfSK7n30LoAeZb0vnBVouB7Q2Mdw68wxSkOlnJygdV08i/xVzy6pH9TDDkz9hB iV5BXNXRhWBuICLNkvWEpPCt8ukNsByMI9MF+lhtXJPiTpvmWdTOkLxWDWzFS5Vuqpn1 TsWBAxhEUdDyCmMCNzsX6lRP/ulpahgDuMxMh9kyRPX7QwfhqHXZBu6GTrwjgtvnC3ou WoNfVALoQWaygc8IKS88qRNfmkOxHY2nPtBqqGVLXVdRBZsV2rL9xviTG9+8oepdLIp7 hpzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=hdHWeOCv2HilyzONPEC6/AODU3C/PwX6VAhp2SzmBHE=; b=ES34Z4RbNb1unnPxeEzp4hpMzavWsV7+8fedwrtR1dcP/WSW8LCa1BaOUgaLf5WkI0 rFPIpFg6UsDC1b3jG9kkhKBiKwTAFAW+fUnlLL928eKFe1HaAbsdeIM06/n+C+2+5KjW QpmNGDhi2/RslQG9IRzzOnclanXn9oLexIlGCAVZOIyzUPQAcp6eeU6TrkWcn2iEc687 BwavfTAeql/IZwg1UpEbNZleeRJdbr2K/qUTSkRGhA8xUgsjZmGwRY/6ZFLVfH3kjp0C 0Ni9gb3WrCGUostrvdjH4MrBNIMzedzkCCH+F2zePyTpXkMhZlduYuzaHxRKmICPNQ8A 6K+w== X-Gm-Message-State: AODbwcBQzF94eL4M2YcqYzUTavqFwA4UElrjKUPLD3D0knY2V+bpOvKs 6e/jYW3JDi0tRJYA+4A= X-Received: by 10.55.116.66 with SMTP id p63mr22752383qkc.250.1495508607463; Mon, 22 May 2017 20:03:27 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:49 -0700 Message-Id: <20170523030312.6360-9-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::241 Subject: [Qemu-devel] [PATCH 08/31] target/s390x: Use unwind data for helper_clm X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 11 ++++++----- target/s390x/translate.c | 1 - 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index d04850b..5f38ac3 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -243,16 +243,16 @@ uint32_t HELPER(clc)(CPUS390XState *env, uint32_t l, = uint64_t s1, uint64_t s2) uint32_t HELPER(clm)(CPUS390XState *env, uint32_t r1, uint32_t mask, uint64_t addr) { - uint8_t r, d; - uint32_t cc; + uintptr_t ra =3D GETPC(); + uint32_t cc =3D 0; =20 HELPER_LOG("%s: r1 0x%x mask 0x%x addr 0x%" PRIx64 "\n", __func__, r1, mask, addr); - cc =3D 0; + while (mask) { if (mask & 8) { - d =3D cpu_ldub_data(env, addr); - r =3D (r1 & 0xff000000UL) >> 24; + uint8_t d =3D cpu_ldub_data_ra(env, addr, ra); + uint8_t r =3D extract32(r1, 24, 8); HELPER_LOG("mask 0x%x %02x/%02x (0x%" PRIx64 ") ", mask, r, d, addr); if (r < d) { @@ -267,6 +267,7 @@ uint32_t HELPER(clm)(CPUS390XState *env, uint32_t r1, u= int32_t mask, mask =3D (mask << 1) & 0xf; r1 <<=3D 8; } + HELPER_LOG("\n"); return cc; } diff --git a/target/s390x/translate.c b/target/s390x/translate.c index aefbc90..84f09b1 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -1930,7 +1930,6 @@ static ExitStatus op_clm(DisasContext *s, DisasOps *o) TCGv_i32 m3 =3D tcg_const_i32(get_field(s->fields, m3)); TCGv_i32 t1 =3D tcg_temp_new_i32(); tcg_gen_extrl_i64_i32(t1, o->in1); - potential_page_fault(s); gen_helper_clm(cc_op, cpu_env, t1, m3, o->in2); set_cc_static(s); tcg_temp_free_i32(t1); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495508889972226.53748915598783; Mon, 22 May 2017 20:08:09 -0700 (PDT) Received: from localhost ([::1]:45871 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0B6-0000lg-H3 for importer@patchew.org; Mon, 22 May 2017 23:08:08 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54798) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06c-0005f4-8z for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06b-0003n8-EA for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:30 -0400 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:35841) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06b-0003mq-BM for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:29 -0400 Received: by mail-qk0-x242.google.com with SMTP id y128so21473573qka.3 for ; Mon, 22 May 2017 20:03:29 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.27 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=KayPoIhwdgDwgUzWWpTUu5GvlBjoho8MtggqZDVUh9k=; b=ElKV0o/CwHOdS4lOjwpu8zyPRym9Lc0LR+DaT8vkxt1mYa415FWc5Os+ukvwsXUFmP txoSDLE1BjLarxyH6t1mY5yJSehSuFO+lNQPpav27bURRFPNqjcGGXUhcvcazuxF80DS rzmpewPiRX870H8STM8cB9bIuGJrieM/Mo4CH1cjblIl9DbcLW/vVwEihL5yM3lP9UaG R4yFdXbnGs8NyOnd0KJa4I6TwK/jBcHrdD4qe4tjIaK9k7Ah8GIO/fC5Q4xOhRFCQYMn QCO6iwuhibivBgExgLhKR/Eaa2qNtp6WS3LQtZfTZ3PrPOqmMIs2dixskOAAydEdCFoV isOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=KayPoIhwdgDwgUzWWpTUu5GvlBjoho8MtggqZDVUh9k=; b=jR7JrRUAfcPCulhvzASgyhh87jrXnUpY1WmXgNsv1oZ+sZ0766ObzhdHUKe6SNuLQJ EKcT72otkYJoCK9IWCVe9YqjL2YkEEROr218jkYze421Dap72DVikswXbQcz97OGn0jf sbJqCfJbjhW3XGxxF3ut+27qW9WLMroNj4/1PL7dzBg+LM+D5lnLf4cTkf50pP0VpgR8 6FaFBslfQrrGw/uWuk1uXhokQjGf5BiSDDs1L1sMQZXnlRVpNm2q8NkEBrFjvOsp3d6k fhaLR/biInuCtsLhix8KkXJEO/nIIBoZn71bZbKz91gh14EHWgPWPOLp7mbdVUtY3AnY iUrA== X-Gm-Message-State: AODbwcBHWk6XAdc8KjRQAOEQ95nyjhg8KnhuTxOkCGXcHaroKQhg/lGr iOfXQzOfgCEj26q8VAc= X-Received: by 10.55.135.67 with SMTP id j64mr22818964qkd.151.1495508608617; Mon, 22 May 2017 20:03:28 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:50 -0700 Message-Id: <20170523030312.6360-10-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH 09/31] target/s390x: Use unwind data for helper_srst X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 3 ++- target/s390x/translate.c | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 5f38ac3..3c28f3a 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -302,6 +302,7 @@ static inline uint64_t get_address_31fix(CPUS390XState = *env, int reg) uint64_t HELPER(srst)(CPUS390XState *env, uint64_t r0, uint64_t end, uint64_t str) { + uintptr_t ra =3D GETPC(); uint32_t len; uint8_t v, c =3D r0; =20 @@ -319,7 +320,7 @@ uint64_t HELPER(srst)(CPUS390XState *env, uint64_t r0, = uint64_t end, env->cc_op =3D 2; return end; } - v =3D cpu_ldub_data(env, str + len); + v =3D cpu_ldub_data_ra(env, str + len, ra); if (v =3D=3D c) { /* Character found. Set R1 to the location; R2 is unmodified.= */ env->cc_op =3D 1; diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 84f09b1..ba7d0f9 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -3977,7 +3977,6 @@ static ExitStatus op_stmh(DisasContext *s, DisasOps *= o) =20 static ExitStatus op_srst(DisasContext *s, DisasOps *o) { - potential_page_fault(s); gen_helper_srst(o->in1, cpu_env, regs[0], o->in1, o->in2); set_cc_static(s); return_low128(o->in2); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509181956949.216279797723; Mon, 22 May 2017 20:13:01 -0700 (PDT) Received: from localhost ([::1]:45892 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0Fo-00050v-J2 for importer@patchew.org; Mon, 22 May 2017 23:13:00 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54811) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06d-0005gK-IB for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06c-0003oJ-Me for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:31 -0400 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]:35393) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06c-0003o0-J9 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:30 -0400 Received: by mail-qk0-x244.google.com with SMTP id k74so21494960qke.2 for ; Mon, 22 May 2017 20:03:30 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.28 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=QKhth8bVWE0sfzqIDykETGhjj2zw54umdqFSGVvFvBE=; b=NK6ghx0lPmZ2Dmh3GYaSq3bd4ZCzpMJlTBArNSyT3JsvhGDm5/lMRs0kq0Dxs6tRTM rSaft6/Vah/fG8aHNNfIjLmt5NAowlCoNjwmuoG8t4fB486uTWv6Okf1Q4ZKM5RWPNOf 2fdL8Yh32pkcmULzLWn7YXUrSJBrqZaWh86IKK8V3uyrShgUwHOCXlARMrwmTS5j2aHq afBh6/l2z5VO8bALiX+S/KoFrzntyARb4b8tY1I+LShB3XTDph+HHhuiy6HaAjHftbcO OW/+pSTGHZB8MM1lqwJbB+BH6pMMA3MlsiXxsYS09lF9thkYoPUhcxwp3HJtyH2nMrSf VI4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=QKhth8bVWE0sfzqIDykETGhjj2zw54umdqFSGVvFvBE=; b=qRVuvwiJqyITBBMAyP9DxHxTfUbLj5ZQuRhrPrUwjgSor6gPplvIEGOPNX4c+gXyq9 C4vhJIQdX1FEVsMGSk7NhiE0NdxQEdLNfLoJPdxLFbrb3t8XxwAOCHUu0d6W/ueGwjg/ VLNsDjrFqt53F5UYPBnF8dhU40u9W3jo0toaQ++dUV2HYWU/oSD8B4nW1GXaq8ZuMLRZ 5+EfGsnmYx9Bq7RQSIyWzaLtwKWZeCjdv+63TMHw+aGsRFvR0ScJOapXpU5mz5c7MCJF 6iC4Gr6Pldnff/wrhsTYfkohURjvrgnC96+RIgyF3fH573r+n+iuJd4Zz4gH8xi6V2TR zSnA== X-Gm-Message-State: AODbwcDhaEUSydZHHkkKi9S29ITy5XXKOqfWc7HQ79+bYmUoWrE5vuTQ IBJRWwr8J1DrcBcuFrg= X-Received: by 10.55.26.215 with SMTP id l84mr22815877qkh.307.1495508609850; Mon, 22 May 2017 20:03:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:51 -0700 Message-Id: <20170523030312.6360-11-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::244 Subject: [Qemu-devel] [PATCH 10/31] target/s390x: Use unwind data for helper_clst X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 5 +++-- target/s390x/translate.c | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 3c28f3a..7c9e7c7 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -337,6 +337,7 @@ uint64_t HELPER(srst)(CPUS390XState *env, uint64_t r0, = uint64_t end, /* unsigned string compare (c is string terminator) */ uint64_t HELPER(clst)(CPUS390XState *env, uint64_t c, uint64_t s1, uint64_= t s2) { + uintptr_t ra =3D GETPC(); uint32_t len; =20 c =3D c & 0xff; @@ -346,8 +347,8 @@ uint64_t HELPER(clst)(CPUS390XState *env, uint64_t c, u= int64_t s1, uint64_t s2) /* Lest we fail to service interrupts in a timely manner, limit the amount of work we're willing to do. For now, let's cap at 8k. */ for (len =3D 0; len < 0x2000; ++len) { - uint8_t v1 =3D cpu_ldub_data(env, s1 + len); - uint8_t v2 =3D cpu_ldub_data(env, s2 + len); + uint8_t v1 =3D cpu_ldub_data_ra(env, s1 + len, ra); + uint8_t v2 =3D cpu_ldub_data_ra(env, s2 + len, ra); if (v1 =3D=3D v2) { if (v1 =3D=3D c) { /* Equal. CC=3D0, and don't advance the registers. */ diff --git a/target/s390x/translate.c b/target/s390x/translate.c index ba7d0f9..735aa82 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -1939,7 +1939,6 @@ static ExitStatus op_clm(DisasContext *s, DisasOps *o) =20 static ExitStatus op_clst(DisasContext *s, DisasOps *o) { - potential_page_fault(s); gen_helper_clst(o->in1, cpu_env, regs[0], o->in1, o->in2); set_cc_static(s); return_low128(o->in2); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509177598419.6530856322355; Mon, 22 May 2017 20:12:57 -0700 (PDT) Received: from localhost ([::1]:45891 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0Fi-0004wX-W6 for importer@patchew.org; Mon, 22 May 2017 23:12:55 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54826) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06e-0005hE-Of for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06d-0003pZ-U6 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:32 -0400 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:34197) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06d-0003pC-Ps for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:31 -0400 Received: by mail-qt0-x242.google.com with SMTP id l39so20703802qtb.1 for ; Mon, 22 May 2017 20:03:31 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.30 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=a/vh4L+4uGaqObHhi8aGtzDBbQcP83eYUZp6qJSsYeI=; b=EneKaqXNrDd7eoZcZyC60GB6tnB+qnwXKLddczlDVrdPtylmv6rdNHn+POZFdMe0QV eKiry2ng9a7wPIOJDa7p+YiBytfsk77djMoteKshBNC8f0iij85VQO8mIYcu+Ar/u3Ho JmpF17PlDxgIf/vIz4ioZ8Qm27WQnuyyLdbYv0N38DwcMpMqQQ2Xi2jTwNQxKyQB8LN1 64sE0xsrHAwEOGzHUSWSdABx74M+yZLnMD5/UhuI2hpXdpK4C/LCtHL9dZO0jLmLYzVo /Z4RmJ9G6ZUZiIegS3aBVSY7R4kaUst5EgQwCY859e+BZv8L1fBl3mxlYby1qn/x4Rrm eh5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=a/vh4L+4uGaqObHhi8aGtzDBbQcP83eYUZp6qJSsYeI=; b=Ew8cQEsqU5s335Ep2Ex6/GwGEE1lTcPreb84lFTq022/vt5V5PfQIF9QiyCDg6AtLy WrUYnggvO9we1QsIsQgnu1u3q/sduimi6g2H9G+ZYADBS8ofVTxG3nrPWuzKiqlQvZbV hWBnzuNg1PI2j4cpYjUdKgPta8VbfTRaDucQIEatMrjr3Zxn9JoKaLCgzuEcswTG8lEu Go7pHYfilXf29zeWYhzcA9kQY6hVQZTYmKJSfnpokNIfQnPt8PmYv/AEIKbZesnTCw7d xkeE9wS68ur7maMVcb4++oaBlbvU7XpnfiKLmFbxtmOj259HDMafF7/acTeA6+8IfiZg TwmA== X-Gm-Message-State: AODbwcCmKen6H+Qn6BGSMy9swTf6UG/MRB2VKgfNxaRhKXNhubGME+k6 nDYqp+keGshikmJfXl0= X-Received: by 10.200.57.37 with SMTP id s34mr23571510qtb.141.1495508611098; Mon, 22 May 2017 20:03:31 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:52 -0700 Message-Id: <20170523030312.6360-12-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH 11/31] target/s390x: Use unwind data for helper_mvpg X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/helper.h | 2 +- target/s390x/mem_helper.c | 9 +++++---- target/s390x/translate.c | 3 +-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/target/s390x/helper.h b/target/s390x/helper.h index d6cc513..2b4e7be 100644 --- a/target/s390x/helper.h +++ b/target/s390x/helper.h @@ -12,7 +12,7 @@ DEF_HELPER_FLAGS_3(divs64, TCG_CALL_NO_WG, s64, env, s64,= s64) DEF_HELPER_FLAGS_4(divu64, TCG_CALL_NO_WG, i64, env, i64, i64, i64) DEF_HELPER_4(srst, i64, env, i64, i64, i64) DEF_HELPER_4(clst, i64, env, i64, i64, i64) -DEF_HELPER_4(mvpg, void, env, i64, i64, i64) +DEF_HELPER_FLAGS_4(mvpg, TCG_CALL_NO_WG, i32, env, i64, i64, i64) DEF_HELPER_4(mvst, i64, env, i64, i64, i64) DEF_HELPER_FLAGS_4(ex, TCG_CALL_NO_WG, void, env, i32, i64, i64) DEF_HELPER_FLAGS_4(stam, TCG_CALL_NO_WG, void, env, i32, i64, i32) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 7c9e7c7..9ef9f4a 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -373,11 +373,12 @@ uint64_t HELPER(clst)(CPUS390XState *env, uint64_t c,= uint64_t s1, uint64_t s2) } =20 /* move page */ -void HELPER(mvpg)(CPUS390XState *env, uint64_t r0, uint64_t r1, uint64_t r= 2) +uint32_t HELPER(mvpg)(CPUS390XState *env, uint64_t r0, uint64_t r1, uint64= _t r2) { - /* XXX missing r0 handling */ - env->cc_op =3D 0; - fast_memmove(env, r1, r2, TARGET_PAGE_SIZE, 0); + /* ??? missing r0 handling, which includes access keys, but more + importantly optional suppression of the exception! */ + fast_memmove(env, r1, r2, TARGET_PAGE_SIZE, GETPC()); + return 0; /* data moved */ } =20 /* string copy (c is string terminator) */ diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 735aa82..a1edc79 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2921,8 +2921,7 @@ static ExitStatus op_mvcs(DisasContext *s, DisasOps *= o) =20 static ExitStatus op_mvpg(DisasContext *s, DisasOps *o) { - potential_page_fault(s); - gen_helper_mvpg(cpu_env, regs[0], o->in1, o->in2); + gen_helper_mvpg(cc_op, cpu_env, regs[0], o->in1, o->in2); set_cc_static(s); return NO_EXIT; } --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509038459879.7032196158337; Mon, 22 May 2017 20:10:38 -0700 (PDT) Received: from localhost ([::1]:45885 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0DV-0002tC-28 for importer@patchew.org; Mon, 22 May 2017 23:10:37 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54837) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06g-0005iU-0W for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06f-0003qb-4L for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:34 -0400 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:36069) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06f-0003qI-0z for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:33 -0400 Received: by mail-qt0-x244.google.com with SMTP id j13so20679535qta.3 for ; Mon, 22 May 2017 20:03:32 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.31 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=kOpzxqhtpV15Vru7mQiiwrQ19hQRxz0gHHERbHYd/lQ=; b=VPDkQZAH5hdYiIzQ0rj8BGDaXQsXAd3xKvIyqsuR0+hpZhcCGpvWFhZGGjgG8MfKwc Zg0ZT1cX6zLXwUL6QQXfkcZ/kW0Mt5+W6qhBBDaF5DRteR8E7E0oBGi8gpSDNbe9nNf0 cVsiqBMBtpHhnublvqZGNgu2+ZUSz+1LNuHJdYxx/9+98kuUP3IuS8tOEBE6tnIB+Yl7 IAhwkBj7DU+AxirU0UoBxYEAfasRlsFq++X34NORLYaRSVRX+j97JlBQkLIzDFjdeBik /f5+o/Sp7YHDQS/8dueYs/ukAvwaoVi0WtnzbjUwL7jSPSuEh8hVuGjBijQ6NaIuJbR3 VVMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=kOpzxqhtpV15Vru7mQiiwrQ19hQRxz0gHHERbHYd/lQ=; b=p80xZjQSCg2YxvXk16eA8hXjKcupZcwxfUAQuwqojRIzrLXKCDJ1gJKOqGd8z6Hadl Vx9e+Jn0zy8/YjPbG1AoLXe1PCgrkCpt4/9KharUTrR92xRXvXXaiLkfjUaKbvRxjBKj rmO7ILUq70rg9vbI+E3gBAzBBJUrJcPf3zID+cWW056tdFghIowCmFJOolqdjvz7xfnc L3sGOk6ttzMhj5lfCKN7+baymuhrmbnDnecsYXrH4Na9C6eEESxlnQsSAvlnPkkVNaYH s+uTh2sXN24LDS6yxFcyAkgbHZnegjlIXTHJ/mv0o2QQNKU/577hZCUq6iPfE8lwdC7j C+sA== X-Gm-Message-State: AODbwcCqaFTFEsQdq6ElErcO05CX/d6Xw3b9eLT84auUL8GBDmrHKyQS 5v9bnGeaLzXrTsJRHNY= X-Received: by 10.200.40.193 with SMTP id j1mr26189299qtj.186.1495508612276; Mon, 22 May 2017 20:03:32 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:53 -0700 Message-Id: <20170523030312.6360-13-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH 12/31] target/s390x: Use unwind data for helper_mvst X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 5 +++-- target/s390x/translate.c | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 9ef9f4a..d1a7bcd 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -384,6 +384,7 @@ uint32_t HELPER(mvpg)(CPUS390XState *env, uint64_t r0, = uint64_t r1, uint64_t r2) /* string copy (c is string terminator) */ uint64_t HELPER(mvst)(CPUS390XState *env, uint64_t c, uint64_t d, uint64_t= s) { + uintptr_t ra =3D GETPC(); uint32_t len; =20 c =3D c & 0xff; @@ -393,8 +394,8 @@ uint64_t HELPER(mvst)(CPUS390XState *env, uint64_t c, u= int64_t d, uint64_t s) /* Lest we fail to service interrupts in a timely manner, limit the amount of work we're willing to do. For now, let's cap at 8k. */ for (len =3D 0; len < 0x2000; ++len) { - uint8_t v =3D cpu_ldub_data(env, s + len); - cpu_stb_data(env, d + len, v); + uint8_t v =3D cpu_ldub_data_ra(env, s + len, ra); + cpu_stb_data_ra(env, d + len, v, ra); if (v =3D=3D c) { /* Complete. Set CC=3D1 and advance R1. */ env->cc_op =3D 1; diff --git a/target/s390x/translate.c b/target/s390x/translate.c index a1edc79..f9d05b6 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2928,7 +2928,6 @@ static ExitStatus op_mvpg(DisasContext *s, DisasOps *= o) =20 static ExitStatus op_mvst(DisasContext *s, DisasOps *o) { - potential_page_fault(s); gen_helper_mvst(o->in1, cpu_env, regs[0], o->in1, o->in2); set_cc_static(s); return_low128(o->in2); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509321139610.7340549479356; Mon, 22 May 2017 20:15:21 -0700 (PDT) Received: from localhost ([::1]:45900 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0I3-00078M-JR for importer@patchew.org; Mon, 22 May 2017 23:15:19 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54848) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06h-0005jl-1g for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06g-0003re-CB for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:35 -0400 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:33134) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06g-0003rI-8Y for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:34 -0400 Received: by mail-qt0-x243.google.com with SMTP id a46so20683746qte.0 for ; Mon, 22 May 2017 20:03:34 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.32 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=cygm0rAw2vx531w3PWdE4aZmRjoICW2FOdFbV/7ctNo=; b=F1yAD0FlmfWELi9k1pxM6JWpAtcB9nIhILzsV/EeJPc/JoF4FAM1xNZxRAbJILVRna KMY4dORC98Z55uT7gHvKoOvvnIbXYYYY/gTgKkui22No68P4JPDJhPmydXpFQg/PWJCR yaK4FAoxFBqJSJdzTj56ssVN016iXMy69c6AyQpHh/YVNFS6syQ+PhMlHmCGYRGpZshc oZnyFmrEdnVH1+cED8H1IgavOoc5xTHiWsLHQUyQJlYfir9l1Kv2vNWSqT/6MfCZ0jiO x//viEmPQ7ggKIPIcVxd3B4qFgWonDLFaHgsKU0ARCL70XA01+ormRfLDJ7frOqSQYeR KXew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=cygm0rAw2vx531w3PWdE4aZmRjoICW2FOdFbV/7ctNo=; b=N/Bf4rii4gWrG2EvsrFTNu09zdFkAxsjEVK6M/lsm6O8a2Laen2Zh//XNwr2MwQV8V 9sjwDkHIk2k+Uu4CxvATAYjEklA3hm0VGr0YA/RrAdgPUgsFlMiWYX7i3N8b3xUwze1i fRsuabHEcXmLiLoaxVD0ebCh7igMhDY3s1HgukVVVWXkXjQp9YdeRnttusqOuncaWjrS iE24EQnlvF41PTUAgI/C89wEUHpji2e5CfrG9PAV8/JmbxKuWcowyTUqGTXfcycplSo8 gRtTtxQQyBFXUoATKjS16+rKCCAY0pyqUFZ4IOvPwBCcz41VeLXB2SyWT4MPZF4QGDE6 CdkQ== X-Gm-Message-State: AODbwcBK3kNq97oMKmOygBgooDods0lGMdRTibo0FmpbbZzDe2SNOwVg TKgL6pLFvFyovvxuxBc= X-Received: by 10.237.59.119 with SMTP id q52mr26657333qte.143.1495508613473; Mon, 22 May 2017 20:03:33 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:54 -0700 Message-Id: <20170523030312.6360-14-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH 13/31] target/s390x: Use unwind data for helper_lam X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 3 ++- target/s390x/translate.c | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index d1a7bcd..4ecec74 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -450,10 +450,11 @@ void HELPER(ex)(CPUS390XState *env, uint32_t ilen, ui= nt64_t v1, uint64_t addr) /* load access registers r1 to r3 from memory at a2 */ void HELPER(lam)(CPUS390XState *env, uint32_t r1, uint64_t a2, uint32_t r3) { + uintptr_t ra =3D GETPC(); int i; =20 for (i =3D r1;; i =3D (i + 1) % 16) { - env->aregs[i] =3D cpu_ldl_data(env, a2); + env->aregs[i] =3D cpu_ldl_data_ra(env, a2, ra); a2 +=3D 4; =20 if (i =3D=3D r3) { diff --git a/target/s390x/translate.c b/target/s390x/translate.c index f9d05b6..1fc58a1 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2626,7 +2626,6 @@ static ExitStatus op_lam(DisasContext *s, DisasOps *o) { TCGv_i32 r1 =3D tcg_const_i32(get_field(s->fields, r1)); TCGv_i32 r3 =3D tcg_const_i32(get_field(s->fields, r3)); - potential_page_fault(s); gen_helper_lam(cpu_env, r1, o->in2, r3); tcg_temp_free_i32(r1); tcg_temp_free_i32(r3); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509327233882.4815301720631; Mon, 22 May 2017 20:15:27 -0700 (PDT) Received: from localhost ([::1]:45902 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0I8-0007CO-Rz for importer@patchew.org; Mon, 22 May 2017 23:15:24 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54859) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06i-0005kg-1T for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06h-0003sY-Ba for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:36 -0400 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:33135) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06h-0003sD-7g for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:35 -0400 Received: by mail-qt0-x243.google.com with SMTP id a46so20683768qte.0 for ; Mon, 22 May 2017 20:03:35 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.33 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=P2uZFsyUtuN1D05gUwQIWMjRUACezpUincHSqTDGrD8=; b=ZcklQorS71NaBXbuuCskDMrdtufq8I5HHahLmTAjBy6QFv9ZosTFqj1YQ6FbO9H4Cu 8lmR0BHve/h9AXKTkq3kCQJuD+9ECHtQHfJGvJMmqMsIfczUOrtSQTtml/NButFrc+RT zXWiYAkBG4yJteryUND91UsKMDq6hqcjyCKeJxQJqyIl4fgm9InSSfWJYGzhBz4HGcIY HwdhPHdqqmVKTV1DDSplWJm/78uXF9oludgwmNrKHzmi3UgIMNaUc5k/PtB/qREPP3Aq vEprzgCGDkdHtqBrWLL++1z7vnjTXGL2hhpf9j4CPHQfe/7uMUNt698k/WXrhjImJa/R 52qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=P2uZFsyUtuN1D05gUwQIWMjRUACezpUincHSqTDGrD8=; b=JUAdMYJvPVR4JgzbEK3rx7sxo3Si2nqcC3oDegDDAumzuC6Vhx8/UckB4iz5x2NCh2 D4y4CJftZ7ueVgx8UjK38D8uhDbdPNTP3ADkN/PtnnzJm9Wh+aFZ3S6998xiupXPpNxZ yXyweqZ6lj7CVSo49fR8oDRrzGS1qhi6qeOhhUapP3OfyNuW5GdKa26BuGX4LFJc3k3+ dLc1Gr22eZLLEjpiVo7dsGa2Y+qLMYhCCAn7GSJ9GuM6NdKGc/VrZNkoSTFYzrWpY4wx 072+1c9Bmki94wZGAwHVz68Y2rh1+kMb3qR4P811nHJejyQ9aYErg6tdeqRiL2HtbiBD 7EJA== X-Gm-Message-State: AODbwcCPCx8sYWux0wwRIpTcrqFGUr2pwzAyrJdiIbim1EpQvVqEGIb1 OBwGLUUS0HekTain0I4= X-Received: by 10.200.34.109 with SMTP id p42mr25904322qtp.17.1495508614551; Mon, 22 May 2017 20:03:34 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:55 -0700 Message-Id: <20170523030312.6360-15-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH 14/31] target/s390x: Use unwind data for helper_stam X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 3 ++- target/s390x/translate.c | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 4ecec74..d6d5047 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -466,10 +466,11 @@ void HELPER(lam)(CPUS390XState *env, uint32_t r1, uin= t64_t a2, uint32_t r3) /* store access registers r1 to r3 in memory at a2 */ void HELPER(stam)(CPUS390XState *env, uint32_t r1, uint64_t a2, uint32_t r= 3) { + uintptr_t ra =3D GETPC(); int i; =20 for (i =3D r1;; i =3D (i + 1) % 16) { - cpu_stl_data(env, a2, env->aregs[i]); + cpu_stl_data_ra(env, a2, env->aregs[i], ra); a2 +=3D 4; =20 if (i =3D=3D r3) { diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 1fc58a1..da7b5a6 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -3867,7 +3867,6 @@ static ExitStatus op_stam(DisasContext *s, DisasOps *= o) { TCGv_i32 r1 =3D tcg_const_i32(get_field(s->fields, r1)); TCGv_i32 r3 =3D tcg_const_i32(get_field(s->fields, r3)); - potential_page_fault(s); gen_helper_stam(cpu_env, r1, o->in2, r3); tcg_temp_free_i32(r1); tcg_temp_free_i32(r3); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509082587386.69067191282795; Mon, 22 May 2017 20:11:22 -0700 (PDT) Received: from localhost ([::1]:45886 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0ED-0003Vq-43 for importer@patchew.org; Mon, 22 May 2017 23:11:21 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54870) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06j-0005m8-Ak for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06i-0003th-HK for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:37 -0400 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:34200) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06i-0003tQ-D9 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:36 -0400 Received: by mail-qt0-x242.google.com with SMTP id l39so20703927qtb.1 for ; Mon, 22 May 2017 20:03:36 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.34 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=xlX+ZIVN4TIdHv1JwryzpMcnbuaB6USYZ2Z2GBuNdwY=; b=Mtskc4TQqfKlPY18Wni8U+0GkOZzmldQbzOID8YzIrwCbaWf8lq2JZYuUcsI1+O7u1 ZK19jn/kDMkNTrWyALAZiO1BZ+C3E3s9AY06bFaDQA093yYX3Etpq+aXOyDeg0A2sjCo 0kJoTGxcJNZIeVEHi3VCeUkMFebxGgzVms17S2OmPJBSAS9SD2tO+phdfObb5xV17a4F 9V9gHrhVNP50bpy+m50h41UGS3C28U29UU1fTEp3xX3xm3WuHa9bGtPSWnPvGNvUDIZH 2KX7BKlVara5Bh4jSwz8m7O8hLpd21MBYlmfTmCXAk/SyAYa5gqrJvozPZrV8d/yaka5 CkQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=xlX+ZIVN4TIdHv1JwryzpMcnbuaB6USYZ2Z2GBuNdwY=; b=MnEKX4AylPNagRMszWYiM6HHm2SSL7ZnbWQm+tyUfNqeXToEHjQGFCV1kvQHyVyLng OSiaTMIotK0Y4lEoQndcjveDRYP7UM46xDdW35RY3NcLrM9ylNKCgtfEU++NOOoFRV56 wBnRmz7nlBU+DUhD6nsapRzqymqtW8ZHBsPO6EHYlzxAtLMeWB32dUvEUYeT8dHROMRZ WATtSCu3C6ColSwic+PP1nBuC0sRUrU4UUsBMXFIQRhLVzlL60jiT6A46I+baqKRnK8d DvB28OyNR459T044muzm/n5qvrK9ZJNiPgvDLJQ+chFZHcN9PVNzCbtgandFzJkhwYAo Dz7Q== X-Gm-Message-State: AODbwcA9jvgd/hoD9xxOiOG2z+ALfDiXx/YbQjFK8mWf4lp1Raj/sOrB sDQzHIQIFiApV9G/aP0= X-Received: by 10.200.36.251 with SMTP id t56mr28088501qtt.127.1495508615689; Mon, 22 May 2017 20:03:35 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:56 -0700 Message-Id: <20170523030312.6360-16-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH 15/31] target/s390x: Use unwind data for helper_mvcl X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 7 ++++--- target/s390x/translate.c | 1 - 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index d6d5047..b764c48 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -482,6 +482,7 @@ void HELPER(stam)(CPUS390XState *env, uint32_t r1, uint= 64_t a2, uint32_t r3) /* move long */ uint32_t HELPER(mvcl)(CPUS390XState *env, uint32_t r1, uint32_t r2) { + uintptr_t ra =3D GETPC(); uint64_t destlen =3D env->regs[r1 + 1] & 0xffffff; uint64_t dest =3D get_address_31fix(env, r1); uint64_t srclen =3D env->regs[r2 + 1] & 0xffffff; @@ -503,12 +504,12 @@ uint32_t HELPER(mvcl)(CPUS390XState *env, uint32_t r1= , uint32_t r2) } =20 for (; destlen && srclen; src++, dest++, destlen--, srclen--) { - v =3D cpu_ldub_data(env, src); - cpu_stb_data(env, dest, v); + v =3D cpu_ldub_data_ra(env, src, ra); + cpu_stb_data_ra(env, dest, v, ra); } =20 for (; destlen; dest++, destlen--) { - cpu_stb_data(env, dest, pad); + cpu_stb_data_ra(env, dest, pad, ra); } =20 env->regs[r1 + 1] =3D destlen; diff --git a/target/s390x/translate.c b/target/s390x/translate.c index da7b5a6..ad2e632 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2876,7 +2876,6 @@ static ExitStatus op_mvcl(DisasContext *s, DisasOps *= o) { TCGv_i32 r1 =3D tcg_const_i32(get_field(s->fields, r1)); TCGv_i32 r2 =3D tcg_const_i32(get_field(s->fields, r2)); - potential_page_fault(s); gen_helper_mvcl(cc_op, cpu_env, r1, r2); tcg_temp_free_i32(r1); tcg_temp_free_i32(r2); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509479661506.45021819725935; Mon, 22 May 2017 20:17:59 -0700 (PDT) Received: from localhost ([::1]:45914 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0Kb-00016E-56 for importer@patchew.org; Mon, 22 May 2017 23:17:57 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54881) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06k-0005nT-Es for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06j-0003uk-LQ for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:38 -0400 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:36071) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06j-0003uQ-Hg for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:37 -0400 Received: by mail-qt0-x244.google.com with SMTP id j13so20679654qta.3 for ; Mon, 22 May 2017 20:03:37 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.35 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=8b0Hnc/nu6l+R85kmd8r2yyc6iP45AVv8Pes2wiVCEs=; b=Yd+vRaAcW9kvV5CQqdGEYEgiKgerbIKC5+fWbmK0Sf2yOnMaS77ZGtWs2sSAI7q/CJ 29PdrevBQiOrEBsyDNmYhpTMHYOl1p6W256mNRdLS3MV4ZPHlApp2nLvv0TWBw/IOhy3 6gJ76ogtsQH3BdeTFprpHY7j08Rr4X8PDriSY5UoYLS30+Ry0E90zJLdCGeqTKEMLXgV 17DTC8hK//QGFpiNcDWOZMELoT654sDIGMOOWX4BVqLJAeIJlQHVZ/12+YH2KJR+gU3F NPe7H/ZNBIx2hHsADSOjzh+vQxEAgpBHGmetdaEUE293NSYHI1yYeL+RXU5pe/Dpv96N +VDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=8b0Hnc/nu6l+R85kmd8r2yyc6iP45AVv8Pes2wiVCEs=; b=A5VyLKTspZa47ipC1/boO0fRPcgpG75vlh+0EUcnNjD4XJRrOWawH0NcfWgjKgvIM/ oQS0cViwHW6AyVi5s4vz8OmzIMcT6VmWdSjXUHH5ANEWSbSbDLizdVPCltjbHgpPQNgM xvIQoJpcyPVkpmUqtiA4803EHhxcdhdNSdl8X/uyf7rRxpk2deHGJTsokAMzzVDDnZFv 2THbbO/0YDCRNloJC3eOFH8GswgfEwr+ourHqczUCEG6aXQI5vyqegSfQLh5NwK48l1q bvUK0GERuM6/zaPQWGd2V0tNTl8vvDmuTRnb7h05ukXLbBUgX1i/BkhZVdXyk09+1kSV Ahkw== X-Gm-Message-State: AODbwcCxUtTTDFFAp/wQuzwuba07rxRGJzSKjiyAJgWcj0kBn9IxJ5hk 6VS9rnVjgV1fvFUv/WQ= X-Received: by 10.237.60.74 with SMTP id u10mr23422549qte.205.1495508616817; Mon, 22 May 2017 20:03:36 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:57 -0700 Message-Id: <20170523030312.6360-17-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH 16/31] target/s390x: Use unwind data for helper_mvcle X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 7 ++++--- target/s390x/translate.c | 1 - 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index b764c48..7a59be0 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -525,6 +525,7 @@ uint32_t HELPER(mvcl)(CPUS390XState *env, uint32_t r1, = uint32_t r2) uint32_t HELPER(mvcle)(CPUS390XState *env, uint32_t r1, uint64_t a2, uint32_t r3) { + uintptr_t ra =3D GETPC(); uint64_t destlen =3D env->regs[r1 + 1]; uint64_t dest =3D env->regs[r1]; uint64_t srclen =3D env->regs[r3 + 1]; @@ -553,12 +554,12 @@ uint32_t HELPER(mvcle)(CPUS390XState *env, uint32_t r= 1, uint64_t a2, } =20 for (; destlen && srclen; src++, dest++, destlen--, srclen--) { - v =3D cpu_ldub_data(env, src); - cpu_stb_data(env, dest, v); + v =3D cpu_ldub_data_ra(env, src, ra); + cpu_stb_data_ra(env, dest, v, ra); } =20 for (; destlen; dest++, destlen--) { - cpu_stb_data(env, dest, pad); + cpu_stb_data_ra(env, dest, pad, ra); } =20 env->regs[r1 + 1] =3D destlen; diff --git a/target/s390x/translate.c b/target/s390x/translate.c index ad2e632..c00c15e 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2887,7 +2887,6 @@ static ExitStatus op_mvcle(DisasContext *s, DisasOps = *o) { TCGv_i32 r1 =3D tcg_const_i32(get_field(s->fields, r1)); TCGv_i32 r3 =3D tcg_const_i32(get_field(s->fields, r3)); - potential_page_fault(s); gen_helper_mvcle(cc_op, cpu_env, r1, o->in2, r3); tcg_temp_free_i32(r1); tcg_temp_free_i32(r3); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509475618744.3762455260278; Mon, 22 May 2017 20:17:55 -0700 (PDT) Received: from localhost ([::1]:45913 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0KW-00012x-Sy for importer@patchew.org; Mon, 22 May 2017 23:17:52 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54892) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06l-0005os-Sz for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06l-0003vf-0P for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:39 -0400 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:36073) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06k-0003vR-SL for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:38 -0400 Received: by mail-qt0-x243.google.com with SMTP id j13so20679691qta.3 for ; Mon, 22 May 2017 20:03:38 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.37 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=FFcN/S3HTrwE1U2swoXSHl9UCRmU6OBvQO5uKuo+oN4=; b=WiRl1y4ipsVidUP+4WAvooO+lsfadED1y0i4XrPjavZpKdIxSVlUlQ2GMR4p9qz7B9 hQHm792ZoTAiKiHj02/WPcnw/7r2sF/CC9HuCULPOEFhp7XikKVTwxmco0VKOwod1FCL vw3b2Jj5/aXKJpn51wL/limo4VZGrXmiMg6b+G/qk9FzxnYUN0FYxWtNwPKzXkv2E89G 9OuhvZhWtKfF0i1YkjP4HXBD4r575YT4cYn8DZdhqKNLYrk0ufr0pQIcmsoY9OmU1E5s 6CVO/T206TFTeUGKtyJs9wALCt9kdYFLrBy5PJyPSzdpHEx/gkbqmdlqQ4DdzCOa3ZZJ F8cQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=FFcN/S3HTrwE1U2swoXSHl9UCRmU6OBvQO5uKuo+oN4=; b=az7XbpR/1PEiNDiKliJG3UhF6Y9+LC/Xo5T1VfHOUS62n/K9Zb98HGbQzBQyffNErr GH4lbVIpjxZGX1/ny/e9o6n/rXXFTgXN/xfA/Q2C1Nmdt5Yw2MRn/qP7AvAQyGpBsYTX MZfmZcKFR646PjWPWNaGuIxbHERr41oDL7lKbWLqkEUOer5cvT5sm3E9RR5U9aFsIEl8 /fH3Y5kqxF/AKtH65/5Sb0uh7HZGaTdWJk0ZdWC7C2QZ0MVjPTPXgghBroJvN15Kw2m8 QePETxm8y9Hyae3rEs4a/uxfjdxmu49P12vPd1tNmA06DOMod/dBxdP0db+ityFIQXa1 OX5Q== X-Gm-Message-State: AODbwcCxTAvmd0apN4/TEu7FtLcTzCpucNvoq3aPc0mUZDZRNi1ASyid G/Liqe7mT3pLr743iPw= X-Received: by 10.200.45.113 with SMTP id o46mr25653887qta.194.1495508618041; Mon, 22 May 2017 20:03:38 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:58 -0700 Message-Id: <20170523030312.6360-18-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH 17/31] target/s390x: Use unwind data for helper_clcle X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 6 +++--- target/s390x/translate.c | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 7a59be0..6e85406 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -576,12 +576,12 @@ uint32_t HELPER(mvcle)(CPUS390XState *env, uint32_t r= 1, uint64_t a2, uint32_t HELPER(clcle)(CPUS390XState *env, uint32_t r1, uint64_t a2, uint32_t r3) { + uintptr_t ra =3D GETPC(); uint64_t destlen =3D env->regs[r1 + 1]; uint64_t dest =3D get_address_31fix(env, r1); uint64_t srclen =3D env->regs[r3 + 1]; uint64_t src =3D get_address_31fix(env, r3); uint8_t pad =3D a2 & 0xff; - uint8_t v1 =3D 0, v2 =3D 0; uint32_t cc =3D 0; =20 if (!(destlen || srclen)) { @@ -593,8 +593,8 @@ uint32_t HELPER(clcle)(CPUS390XState *env, uint32_t r1,= uint64_t a2, } =20 for (; destlen || srclen; src++, dest++, destlen--, srclen--) { - v1 =3D srclen ? cpu_ldub_data(env, src) : pad; - v2 =3D destlen ? cpu_ldub_data(env, dest) : pad; + uint8_t v1 =3D srclen ? cpu_ldub_data_ra(env, src, ra) : pad; + uint8_t v2 =3D destlen ? cpu_ldub_data_ra(env, dest, ra) : pad; if (v1 !=3D v2) { cc =3D (v1 < v2) ? 1 : 2; break; diff --git a/target/s390x/translate.c b/target/s390x/translate.c index c00c15e..ad85a75 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -1917,7 +1917,6 @@ static ExitStatus op_clcle(DisasContext *s, DisasOps = *o) { TCGv_i32 r1 =3D tcg_const_i32(get_field(s->fields, r1)); TCGv_i32 r3 =3D tcg_const_i32(get_field(s->fields, r3)); - potential_page_fault(s); gen_helper_clcle(cc_op, cpu_env, r1, o->in2, r3); tcg_temp_free_i32(r1); tcg_temp_free_i32(r3); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509182469748.6389806618454; Mon, 22 May 2017 20:13:02 -0700 (PDT) Received: from localhost ([::1]:45893 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0Fp-00051H-4F for importer@patchew.org; Mon, 22 May 2017 23:13:01 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54903) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06m-0005pM-PZ for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06m-0003wL-4O for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:40 -0400 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:33139) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06m-0003w9-0W for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:40 -0400 Received: by mail-qt0-x242.google.com with SMTP id a46so20683890qte.0 for ; Mon, 22 May 2017 20:03:39 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.38 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=nuoJQ+qKmmjG0YnMJu6P8sykl31msHbzx16IEictif0=; b=KotL5U9OWYMXivNXtLHHeFLMStdmyyHbzRcBEobO/IhMxcQuCwWSdRubzGV8UfILlU i3xAbzeSPbMJFyw0ymwrp1Gv8cKPoANK/8zDIIAS422gp0oemKAyOIs7ZAnnk/87GoVA HlFJKyXLRUVkcs2hZZYlxYu5c3RjQavWeClWsLF7zv2YlhJMJ8xKR9wvmcEIeIStVEg1 E/tJlnmdlr87tUSIh+AUFB2FCAf6FEyQNc6ME8Uo9WTIJ6ZxMWTyOwNe2HM5+ePI8CxX kU6xDdzk07LjGLXjwsGSO6/gNELhnkhPo/JCAZjf2fyk+rtg5ShHkEpMLRnWjBemV3zD UvlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=nuoJQ+qKmmjG0YnMJu6P8sykl31msHbzx16IEictif0=; b=Ab9RbqK7zHfji3f4cHjK52c5rwQlcU8VsxFN7ZV07NCyL7q3zg90I8vbp15Icn6Udr 2Elj0v9Bu3COkqPbdMVdFjMiWiXCuo/EUBS0kcRgogRAhbK0jJ+4cVw4txfAL6q3ZWAe GYxmaWjiTUM+2VjO1UNFRfoJUc8998bRlkcy0VGvMxPEfA1z0iK25Bm9d5eLDP0ZQ7fh mNmbXXH1/+e7mKaBr27+7gmIfkOuWudc/OlSazNRuF2s4OfXXyM/poZ7qvHml5YEYmuE T0nqjuEy9/DMmcgfqmMTt8hNjGmIleCpjhoZiClKfL+pXX6ZycT1STo027+IOBODAwSy iRiQ== X-Gm-Message-State: AODbwcCyM/GOPNlsACT+mNDAoSuYTqVmOGeow/tFAc5KPXC2d59dGdMK C75D/8QZ5hxjPT2UWDM= X-Received: by 10.200.42.166 with SMTP id b35mr26797444qta.239.1495508619283; Mon, 22 May 2017 20:03:39 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:02:59 -0700 Message-Id: <20170523030312.6360-19-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH 18/31] target/s390x: Use unwind data for helper_cksm X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 11 ++++++----- target/s390x/translate.c | 1 - 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 6e85406..da81b38 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -614,6 +614,7 @@ uint32_t HELPER(clcle)(CPUS390XState *env, uint32_t r1,= uint64_t a2, uint64_t HELPER(cksm)(CPUS390XState *env, uint64_t r1, uint64_t src, uint64_t src_len) { + uintptr_t ra =3D GETPC(); uint64_t max_len, len; uint64_t cksm =3D (uint32_t)r1; =20 @@ -623,21 +624,21 @@ uint64_t HELPER(cksm)(CPUS390XState *env, uint64_t r1, =20 /* Process full words as available. */ for (len =3D 0; len + 4 <=3D max_len; len +=3D 4, src +=3D 4) { - cksm +=3D (uint32_t)cpu_ldl_data(env, src); + cksm +=3D (uint32_t)cpu_ldl_data_ra(env, src, ra); } =20 switch (max_len - len) { case 1: - cksm +=3D cpu_ldub_data(env, src) << 24; + cksm +=3D cpu_ldub_data_ra(env, src, ra) << 24; len +=3D 1; break; case 2: - cksm +=3D cpu_lduw_data(env, src) << 16; + cksm +=3D cpu_lduw_data_ra(env, src, ra) << 16; len +=3D 2; break; case 3: - cksm +=3D cpu_lduw_data(env, src) << 16; - cksm +=3D cpu_ldub_data(env, src + 2) << 8; + cksm +=3D cpu_lduw_data_ra(env, src, ra) << 16; + cksm +=3D cpu_ldub_data_ra(env, src + 2, ra) << 8; len +=3D 3; break; } diff --git a/target/s390x/translate.c b/target/s390x/translate.c index ad85a75..21c21a6 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -1868,7 +1868,6 @@ static ExitStatus op_cksm(DisasContext *s, DisasOps *= o) int r2 =3D get_field(s->fields, r2); TCGv_i64 len =3D tcg_temp_new_i64(); =20 - potential_page_fault(s); gen_helper_cksm(len, cpu_env, o->in1, o->in2, regs[r2 + 1]); set_cc_static(s); return_low128(o->out); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509631896631.4516572078783; Mon, 22 May 2017 20:20:31 -0700 (PDT) Received: from localhost ([::1]:45924 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0N3-000391-FC for importer@patchew.org; Mon, 22 May 2017 23:20:29 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54914) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06o-0005qs-5U for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06n-0003wt-BM for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:42 -0400 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:33140) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06n-0003wl-76 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:41 -0400 Received: by mail-qt0-x244.google.com with SMTP id a46so20683955qte.0 for ; Mon, 22 May 2017 20:03:41 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.39 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=v0eNqpw/ijoUnjVHrvmZxa2ViyEiFzyAlt1x7+o01X4=; b=Kh3C/KL1s2Wvv/EdHUxYzVPResKjS58SdTkRRCg0/Dph/cR7rFjs6R5Ktbda872Lct oBDAxUwB98uIh2WAIOLAXcWYyo5t66HLmFf17V9S5ulhSOR400PFIip6YyP+LztFpOba AYsTjSDGIkeJ7ljoN8w/U2v+FcPgxTPNq76jCLFo63RkroUVkosEl3wWoyaY1Lc3U++p dZgGqhtQwSPYxIBAi+Hflv0HlcEnbheeETtSkeIeXzK7N+FL3vXEHU9dvtBNzmHoxwIv T8iKxTdZr7BNS5jtOK/owZXHs+I1TTd0NTfsem19f+KZsAKFwajdG3Dt1pIpKGlfR0FY fxWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=v0eNqpw/ijoUnjVHrvmZxa2ViyEiFzyAlt1x7+o01X4=; b=QMZFGWbLsPzLPLOJ6bUvNwDe7egTXXDX+wCn1mcnlg/LbNAHGDCtumsK32YHQ6be6h QtWQdfvOWTVKMWhUfv1u8ZlDDfAxSSc3LgbhjMvmkB29jBoHK4QYpHyyqTIG5HFUzAqy jF5BMt3gVNnql4LgJDwkpe8kMxsjucb6B4BElxzj4r96IkWSRsojFb+JztO98azhXhkP ZWw1gVWohmoZZH0Mm+2v+P8M57fOQSh9ar3nnjtRLzmVBdVRON5VUyLhFjpnhhD9/Zrw +aj/yblUC5d6te0hjB62KUzGsfvupq5dMM7s/uvFx7vCEALd2Z2y7wsdjsIrDsPiOKp6 J37A== X-Gm-Message-State: AODbwcDI4JjXofLoag8yO6aGtq2T4dETp09WEMvzOfM31KZbgxWnDULY 5mTWnfXcz4Ze0ZmkQlk= X-Received: by 10.200.56.56 with SMTP id q53mr23540793qtb.36.1495508620470; Mon, 22 May 2017 20:03:40 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:03:00 -0700 Message-Id: <20170523030312.6360-20-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH 19/31] target/s390x: Use unwind data for helper_unpk X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 9 +++++---- target/s390x/translate.c | 1 - 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index da81b38..d37e691 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -660,6 +660,7 @@ uint64_t HELPER(cksm)(CPUS390XState *env, uint64_t r1, void HELPER(unpk)(CPUS390XState *env, uint32_t len, uint64_t dest, uint64_t src) { + uintptr_t ra =3D GETPC(); int len_dest =3D len >> 4; int len_src =3D len & 0xf; uint8_t b; @@ -669,8 +670,8 @@ void HELPER(unpk)(CPUS390XState *env, uint32_t len, uin= t64_t dest, src +=3D len_src; =20 /* last byte is special, it only flips the nibbles */ - b =3D cpu_ldub_data(env, src); - cpu_stb_data(env, dest, (b << 4) | (b >> 4)); + b =3D cpu_ldub_data_ra(env, src, ra); + cpu_stb_data_ra(env, dest, (b << 4) | (b >> 4), ra); src--; len_src--; =20 @@ -680,7 +681,7 @@ void HELPER(unpk)(CPUS390XState *env, uint32_t len, uin= t64_t dest, uint8_t cur_byte =3D 0; =20 if (len_src > 0) { - cur_byte =3D cpu_ldub_data(env, src); + cur_byte =3D cpu_ldub_data_ra(env, src, ra); } =20 len_dest--; @@ -699,7 +700,7 @@ void HELPER(unpk)(CPUS390XState *env, uint32_t len, uin= t64_t dest, /* zone bits */ cur_byte |=3D 0xf0; =20 - cpu_stb_data(env, dest, cur_byte); + cpu_stb_data_ra(env, dest, cur_byte, ra); } } =20 diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 21c21a6..e8eefec 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -4099,7 +4099,6 @@ static ExitStatus op_trt(DisasContext *s, DisasOps *o) static ExitStatus op_unpk(DisasContext *s, DisasOps *o) { TCGv_i32 l =3D tcg_const_i32(get_field(s->fields, l1)); - potential_page_fault(s); gen_helper_unpk(cpu_env, l, o->addr1, o->in2); tcg_temp_free_i32(l); return NO_EXIT; --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509626253919.0750771522166; Mon, 22 May 2017 20:20:26 -0700 (PDT) Received: from localhost ([::1]:45922 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0My-00035P-QE for importer@patchew.org; Mon, 22 May 2017 23:20:24 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54925) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06p-0005rz-8Y for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06o-0003xP-H8 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:43 -0400 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]:35402) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06o-0003xB-D9 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:42 -0400 Received: by mail-qk0-x244.google.com with SMTP id k74so21495221qke.2 for ; Mon, 22 May 2017 20:03:42 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.40 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=+vj1971UAl1Ea1sWiyTi3+7HGiSaR8QdJA0uSKY2hgk=; b=XHUtqMJLxj8ffWFPzMv3yESwy1+eej3/lTxvuLS3dZRZDX7Z3z3cp3axlddfTsJGhC utLNMW0if0w3s0X9r/tET/2omx7ySq8K0dEUV2antBwID2O5LRNb8WGN2Tfq3Pa55Xnc EJEY5fege0ieVuoANMcmb7Fa26cxfIuAan8zvW8gJq7o5VFkzYNXYxVyLaHyRPKU9UXo ElBtVjCDtgw7vioSKNWb3qcRoGrvF9YGKJzA05GupjK84ieAa5QgO5FMykXZGR7XT2gM Tr4IOvhETIPERnzavI3Ts3+SvhRlLUBO/YQ6W6cFmSL5GGKQkXIgdCgxg2HuajJSwPlt Yphw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=+vj1971UAl1Ea1sWiyTi3+7HGiSaR8QdJA0uSKY2hgk=; b=OCvkunkvmX3VTj6jWLV/HSb3I16M7xCmzDQrO7codo+Id+sc0JJuTrpIiSLrp8Z07S oN1qv50GYdNkMvg+SvDiuiK8PkjVz9zlRak/Z+iW2WoV2Fw1U3JUMb306W5IKzV4ssZx 0rRHIeAFWoywsaboMYIa1nhjK7DDiFw+kcOmwrDrFWHpQae8VYfbz9/KhhljaNGiRii/ oZ0BJpaGU5IZSrIOlU602H0zSBdLGtt8YsESldV9a6N5I1UFlzkR0hcWNvDONMhJo+YA ra5yI0IKPC+3A27ojoEK2HyPvkDuKc+nL11G8K/sMfVTWilnMxtLova8Bkvq9HpvBeWh BcaA== X-Gm-Message-State: AODbwcAAF7ST3kfKHFlb+yCfu69Eh1jwTS5QCrVGdhU3+8+sukhQ9d70 us9iC4SCbsm/x0PL9uM= X-Received: by 10.233.223.196 with SMTP id t187mr23527017qkf.31.1495508621679; Mon, 22 May 2017 20:03:41 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:03:01 -0700 Message-Id: <20170523030312.6360-21-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::244 Subject: [Qemu-devel] [PATCH 20/31] target/s390x: Use unwind data for helper_tr X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 10 +++++----- target/s390x/translate.c | 1 - 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index d37e691..748a6e8 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -707,13 +707,13 @@ void HELPER(unpk)(CPUS390XState *env, uint32_t len, u= int64_t dest, void HELPER(tr)(CPUS390XState *env, uint32_t len, uint64_t array, uint64_t trans) { - int i; + uintptr_t ra =3D GETPC(); + uint32_t i; =20 for (i =3D 0; i <=3D len; i++) { - uint8_t byte =3D cpu_ldub_data(env, array + i); - uint8_t new_byte =3D cpu_ldub_data(env, trans + byte); - - cpu_stb_data(env, array + i, new_byte); + uint8_t byte =3D cpu_ldub_data_ra(env, array + i, ra); + uint8_t new_byte =3D cpu_ldub_data_ra(env, trans + byte, ra); + cpu_stb_data_ra(env, array + i, new_byte, ra); } } =20 diff --git a/target/s390x/translate.c b/target/s390x/translate.c index e8eefec..b506cee 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -4070,7 +4070,6 @@ static ExitStatus op_tprot(DisasContext *s, DisasOps = *o) static ExitStatus op_tr(DisasContext *s, DisasOps *o) { TCGv_i32 l =3D tcg_const_i32(get_field(s->fields, l1)); - potential_page_fault(s); gen_helper_tr(cpu_env, l, o->addr1, o->in2); tcg_temp_free_i32(l); set_cc_static(s); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509754224280.1580319078432; Mon, 22 May 2017 20:22:34 -0700 (PDT) Received: from localhost ([::1]:45938 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0P2-00054q-MJ for importer@patchew.org; Mon, 22 May 2017 23:22:32 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54936) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06q-0005sI-HE for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06p-0003xu-Je for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:44 -0400 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:35403) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06p-0003xg-G4 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:43 -0400 Received: by mail-qk0-x242.google.com with SMTP id k74so21495235qke.2 for ; Mon, 22 May 2017 20:03:43 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.41 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=r+Iigy6vGFNJcpTOA8TCfki/OkuG7EDBRle75HGponw=; b=BLqpd6S8CBncZJ6UiFbC9L3PxRGbZ3sUbJYdhlLDK3Y125Prj7TMYcPutovq6WSJ3M P4wHFKJdSwk9Ha7bZC992w2m1Lze2vcBKp34ouSU4ZsRdWYozcZHWdLckk8BDomVm4eE rxCR1v0V/lwRvutwOmo4McdsE4Z3YGP+QMfnx6lSgcNfs1Z8Z9SMbrBk2dWx5xWbyPc7 VR3o4n1jYrYX5RXX66o3fKU6JvXyxkj3n2hzrwD1VCosCkwRep++V2Ki5EuTLMz4hJKI GBKOyEeAKZn2X50+AtGw2zygBCNR/MpkPniPnSXS7HgsQCuQLPze8ornjgPvV5NsG4Uq 002w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=r+Iigy6vGFNJcpTOA8TCfki/OkuG7EDBRle75HGponw=; b=CmUmWvB7jOpW3+RT5vIJM17nCBnihKhOUr411EwHvZakkPnAz3JhmyWm1Fdxsop/ZO xPEEeeMFYS/yOammaRc8BbVhurKm09YjLy3T0c9/dmcfc109Pe6R39H31aN+9sAcbRkR UkqpmsGxLNVePPE7A8u1o05nrwjI55mJeimFmlZi3kwUVkWUVe3Qkm7sL6IYmfJBLqKs YFgytehwxpbgPLyUlu4R6OYWBVd9GSZejdUG5Xz5X1yBylTdQnSG+vJU1fjy4TeH9Rvn jFwI3GSndhMa5Ub+YsuD22F5PmDYraPdjhcRB4+VynYvM2gti3nZYcz7/jJiuGDHZHFW lfCA== X-Gm-Message-State: AODbwcDMxpPiMWXxTUGHor1sMhPhbOOKNTzR8AAg32PZXnbwg6Jywt1S OJUv9R4lYGCBKCw6nTw= X-Received: by 10.233.221.129 with SMTP id r123mr9120787qkf.0.1495508622783; Mon, 22 May 2017 20:03:42 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:03:02 -0700 Message-Id: <20170523030312.6360-22-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH 21/31] target/s390x: Use unwind data for helper_tre X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 15 ++++++++------- target/s390x/translate.c | 1 - 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 748a6e8..4c6c6ee 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -720,8 +720,10 @@ void HELPER(tr)(CPUS390XState *env, uint32_t len, uint= 64_t array, uint64_t HELPER(tre)(CPUS390XState *env, uint64_t array, uint64_t len, uint64_t trans) { + uintptr_t ra =3D GETPC(); uint8_t end =3D env->regs[0] & 0xff; uint64_t l =3D len; + uint32_t cc =3D 0; uint64_t i; =20 if (!(env->psw.mask & PSW_MASK_64)) { @@ -733,25 +735,24 @@ uint64_t HELPER(tre)(CPUS390XState *env, uint64_t arr= ay, amount of work we're willing to do. For now, let's cap at 8k. */ if (l > 0x2000) { l =3D 0x2000; - env->cc_op =3D 3; - } else { - env->cc_op =3D 0; + cc =3D 3; } =20 for (i =3D 0; i < l; i++) { uint8_t byte, new_byte; =20 - byte =3D cpu_ldub_data(env, array + i); + byte =3D cpu_ldub_data_ra(env, array + i, ra); =20 if (byte =3D=3D end) { - env->cc_op =3D 1; + cc =3D 1; break; } =20 - new_byte =3D cpu_ldub_data(env, trans + byte); - cpu_stb_data(env, array + i, new_byte); + new_byte =3D cpu_ldub_data_ra(env, trans + byte, ra); + cpu_stb_data_ra(env, array + i, new_byte, ra); } =20 + env->cc_op =3D cc; env->retxl =3D len - i; return array + i; } diff --git a/target/s390x/translate.c b/target/s390x/translate.c index b506cee..ecef71c 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -4078,7 +4078,6 @@ static ExitStatus op_tr(DisasContext *s, DisasOps *o) =20 static ExitStatus op_tre(DisasContext *s, DisasOps *o) { - potential_page_fault(s); gen_helper_tre(o->out, cpu_env, o->out, o->out2, o->in2); return_low128(o->out2); set_cc_static(s); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509756694243.16155024721388; Mon, 22 May 2017 20:22:36 -0700 (PDT) Received: from localhost ([::1]:45939 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0P5-00058q-6x for importer@patchew.org; Mon, 22 May 2017 23:22:35 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54947) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06r-0005tC-H9 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06q-0003yE-Ob for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:45 -0400 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:33060) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06q-0003y4-LG for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:44 -0400 Received: by mail-qk0-x242.google.com with SMTP id o85so21454657qkh.0 for ; Mon, 22 May 2017 20:03:44 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.43 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=97GYkYOgNoJMZlUipzz1k7XGoncH9QWv4X2v7D9uoHI=; b=ETZvWm7mJ81Cf8Eq9+jJ0AzV0kKfI5qOaPlbajvXFNi+6PwpB5sa+MzBRkeqvEj/dO B2t8u3Xi6rcxA+fLdSIr2JDchy4bA1OsG2GWgXNq0GUQIOMhZvj546pvN3O4Wg5HUDq/ KcckyaHNuLSJwck9J119vabLbshvED3LAiRiHigwgQdRNfNv0K2So7UtDybb0j2OtNZ/ 7ZlTjqaE+aMoxiF7v5vnwHaEotoCtk/bFSFe7LAXut2sCyO2CMa3JmhV5s12DZQOjcwT d7KExQDy8VkARrlprPa/8OambhfKfZ9XuvovQQQJfdX0n3SvCksPFYDKUt5pueOZKZV9 wXqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=97GYkYOgNoJMZlUipzz1k7XGoncH9QWv4X2v7D9uoHI=; b=D1dsaTVH8bHd/2DjA438kurWA5paFrx2LRIHcBnPL8jh4kjaA6Iow3s+XV+1bqfycd roFUotAVx5p/F+Y4Ga8FE852BDRpeHZBaUIHGZAZKNf8pZwe4hzL6h9XxT53bukmcqku Rx3JwPZqaIsLCN6XdI4poWsKvWyrGBws4m1B/39qfoOQ+i8U2MNvYYQXM5fMzs5uax+V VQjYQ7PB7jLuZHN8ulsdiKEMN8z3kudRGFoD3nb0YNSrKShBq2ZPmRDTS7Gng6RfLyoi DrryndaI2ZDtsHm+TYw2oUsK4G2Xg7BeMMcI7pi3a/OuuaF1cgwXxFAsdk6geVAZtlnd 7drg== X-Gm-Message-State: AODbwcBeoIIh1QQs/WvbmJTLXs01vU71JoJgGlKKUE1Pve5eAkHwONCu hVLlVQLzI3sF+084dg4= X-Received: by 10.55.103.82 with SMTP id b79mr22306761qkc.46.1495508623912; Mon, 22 May 2017 20:03:43 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:03:03 -0700 Message-Id: <20170523030312.6360-23-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH 22/31] target/s390x: Use unwind data for helper_trt X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 9 +++++---- target/s390x/translate.c | 1 - 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 4c6c6ee..902290c 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -760,16 +760,17 @@ uint64_t HELPER(tre)(CPUS390XState *env, uint64_t arr= ay, uint32_t HELPER(trt)(CPUS390XState *env, uint32_t len, uint64_t array, uint64_t trans) { + uintptr_t ra =3D GETPC(); uint32_t cc =3D 0; - int i; + uint32_t i; =20 for (i =3D 0; i <=3D len; i++) { - uint8_t byte =3D cpu_ldub_data(env, array + i); - uint8_t sbyte =3D cpu_ldub_data(env, trans + byte); + uint8_t byte =3D cpu_ldub_data_ra(env, array + i, ra); + uint8_t sbyte =3D cpu_ldub_data_ra(env, trans + byte, ra); =20 if (sbyte !=3D 0) { env->regs[1] =3D array + i; - env->regs[2] =3D (env->regs[2] & ~0xff) | sbyte; + env->regs[2] =3D deposit64(env->regs[2], 0, 8, sbyte); cc =3D (i =3D=3D len) ? 2 : 1; break; } diff --git a/target/s390x/translate.c b/target/s390x/translate.c index ecef71c..531b5f1 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -4087,7 +4087,6 @@ static ExitStatus op_tre(DisasContext *s, DisasOps *o) static ExitStatus op_trt(DisasContext *s, DisasOps *o) { TCGv_i32 l =3D tcg_const_i32(get_field(s->fields, l1)); - potential_page_fault(s); gen_helper_trt(cc_op, cpu_env, l, o->addr1, o->in2); tcg_temp_free_i32(l); set_cc_static(s); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509864996509.96385647099487; Mon, 22 May 2017 20:24:24 -0700 (PDT) Received: from localhost ([::1]:45945 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0Qp-0006U9-9H for importer@patchew.org; Mon, 22 May 2017 23:24:23 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54958) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06s-0005uO-Pl for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06r-0003yY-Sk for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:46 -0400 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:33062) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06r-0003yR-Ov for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:45 -0400 Received: by mail-qk0-x242.google.com with SMTP id o85so21454692qkh.0 for ; Mon, 22 May 2017 20:03:45 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.44 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=A/V6n9dWsoH1HGLdwvPeB+R0uKmJdUI432LjmYXER2A=; b=DgjDlAuTYUU4YHCidOKCxioYP6KHsrM3lrW5ut08C8bvY++m9KM9l+gAVNz48Jp/71 daRSPcWgsPu7pGqKQlifFMQpMpZvIpwy3Adl0qxKgg9yJOKYzRE9CG2iPfd5vzpSmF1I jkOCQRzYQO0O/VnkPsd1uX9bZQuQw4ytlOlONLA+ITGQNnoUsSIYVHi+TZGlOGpAV3as 0/TJt5M/64eSUwywpjrm0oMHm6Vj19z5f/Ejiu3HxswXY0nJLQNfdqGEidPQ5lDIDHbh wkHY5xVLghp+MyMNV5bl2HYMj8KAbrceprWOCy64kny3j05LaV36QqTyH8+z/wL91lfO f4ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=A/V6n9dWsoH1HGLdwvPeB+R0uKmJdUI432LjmYXER2A=; b=cVA5uwMaGqRpzbuzVb/g0fobmZtpE2uDbr+gO5h4GHfM5mazSaT3QouEhw2LzljhHD uLZh+VUQIC1grLxSKpx0BVEEb33nZYleZJKKGtMLwCCxm8Uao89XKtKYj7rCxECOgceU 1ILATiFWcpES1NmpbVruX1pCNon49j7zRHIV4KKBam3ChthjwYHRzbHUMkIUA3z4PkLw 6RF/XUhtF+SD6qOAqGUB75gdueCn6krME0C4uMYnHYMWZM2SsGv0bazgd99QD8U7xztG QE7/PSKvyIohDmeQj9U47NDJ/+c8pmBrg32jRrKj0J9o8bZ+4Fx7ACPCpYSj8iJ4B4jh 9TBQ== X-Gm-Message-State: AODbwcDxfNeXn4SH41k0rt/SRSzBVChMJyeUatyhT3+hnV7RWoDglxaJ dmscTBkF7w70vn+g70w= X-Received: by 10.55.16.41 with SMTP id a41mr22755312qkh.131.1495508625021; Mon, 22 May 2017 20:03:45 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:03:04 -0700 Message-Id: <20170523030312.6360-24-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH 23/31] target/s390x: Use unwind data for helper_lctlg X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 8 ++++---- target/s390x/translate.c | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 902290c..26960e4 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -821,20 +821,20 @@ void HELPER(cdsg)(CPUS390XState *env, uint64_t addr, #if !defined(CONFIG_USER_ONLY) void HELPER(lctlg)(CPUS390XState *env, uint32_t r1, uint64_t a2, uint32_t = r3) { + uintptr_t ra =3D GETPC(); S390CPU *cpu =3D s390_env_get_cpu(env); bool PERchanged =3D false; - int i; uint64_t src =3D a2; - uint64_t val; + uint32_t i; =20 for (i =3D r1;; i =3D (i + 1) % 16) { - val =3D cpu_ldq_data(env, src); + uint64_t val =3D cpu_ldq_data_ra(env, src, ra); if (env->cregs[i] !=3D val && i >=3D 9 && i <=3D 11) { PERchanged =3D true; } env->cregs[i] =3D val; HELPER_LOG("load ctl %d from 0x%" PRIx64 " =3D=3D 0x%" PRIx64 "\n", - i, src, env->cregs[i]); + i, src, val); src +=3D sizeof(uint64_t); =20 if (i =3D=3D r3) { diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 531b5f1..886991e 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2557,7 +2557,6 @@ static ExitStatus op_lctlg(DisasContext *s, DisasOps = *o) TCGv_i32 r1 =3D tcg_const_i32(get_field(s->fields, r1)); TCGv_i32 r3 =3D tcg_const_i32(get_field(s->fields, r3)); check_privileged(s); - potential_page_fault(s); gen_helper_lctlg(cpu_env, r1, o->in2, r3); tcg_temp_free_i32(r1); tcg_temp_free_i32(r3); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509225770894.5900988552078; Mon, 22 May 2017 20:13:45 -0700 (PDT) Received: from localhost ([::1]:45894 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0GW-0005mA-FS for importer@patchew.org; Mon, 22 May 2017 23:13:44 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54969) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06t-0005vZ-Oz for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06s-0003ym-Vt for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:47 -0400 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:35328) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06s-0003ye-Rz for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:46 -0400 Received: by mail-qt0-x241.google.com with SMTP id r58so20675329qtb.2 for ; Mon, 22 May 2017 20:03:46 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.45 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=+rtuHYCg354qCLi+IhDDXFsFKvv+8N8+QNgFMTyPimM=; b=UWXAeZTT/3DPeNpaUltooVFOqpdJaKWW4TwUHzFH9HJaVhSWAZ121FS7hqOZk0RlhQ DFH9seKkdwU+DNreDit7hjWErR4RIzSqeaEhTB+hhvugyCqSmR4sZkDQkblXiBK0w/SY f9Qbxgj+WzHP7B+nxoFafT7lxMNa57DR/xigG48dYlvGHKzVAvjxhh2jvRXQc9nMhgUQ 79JNcKq5zSu9I9T7gpRL7Xscscdxqvx5WcswTqs6RBEEaNLLAlbg3pTrDOgDczj8QDGM Z2AryAgp1+jMvKtJ2ffB9wylBIUSXtKiEyECvlVDLFdAaB/M+W6/pbdtUo37qoN0pJAF r/nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=+rtuHYCg354qCLi+IhDDXFsFKvv+8N8+QNgFMTyPimM=; b=ex2zd33ZiCfl/ae9RQAmvxFM/QkPJR1rdkCPR2/YDOwJgrbzoMoEOwxOXb2bkLsDu/ MdFIFNXznkb5Fw0dmRPdfmFlER2C72OTxI3CdVwrXaZi2S2oJhPXDfzK8DKgWx7YtqV+ uSmgnKOZIBaYGjIfoU/GPYEetC/JzmoHO3B8fbr20OvT82mVH3su/MWuHBylohaquhCP SioZgDUp9kEDc6e7aalXlvktu9sqxAHdXDcccZbv000QcPDZAW2HIchsuYqYVtJNGJZh xney3fvrJDUkAn4NGWfoU4GvmQZOQ1+xH+su8PhXZhGaUH9b5+8gVvJUSqUxfMWZpIwv nfYQ== X-Gm-Message-State: AODbwcAXQrJv9do9YDdey95uRb7aIT/U9gREZjeSxH8zdnJWk1sWFUTG gCE0LYNgBxi1/mYpGgQ= X-Received: by 10.200.46.217 with SMTP id i25mr23668422qta.188.1495508626141; Mon, 22 May 2017 20:03:46 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:03:05 -0700 Message-Id: <20170523030312.6360-25-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH 24/31] target/s390x: Use unwind data for helper_lctl X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 9 +++++---- target/s390x/translate.c | 1 - 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 26960e4..b169e0e 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -851,18 +851,19 @@ void HELPER(lctlg)(CPUS390XState *env, uint32_t r1, u= int64_t a2, uint32_t r3) =20 void HELPER(lctl)(CPUS390XState *env, uint32_t r1, uint64_t a2, uint32_t r= 3) { + uintptr_t ra =3D GETPC(); S390CPU *cpu =3D s390_env_get_cpu(env); bool PERchanged =3D false; - int i; uint64_t src =3D a2; - uint32_t val; + uint32_t i; =20 for (i =3D r1;; i =3D (i + 1) % 16) { - val =3D cpu_ldl_data(env, src); + uint32_t val =3D cpu_ldl_data_ra(env, src, ra); if ((uint32_t)env->cregs[i] !=3D val && i >=3D 9 && i <=3D 11) { PERchanged =3D true; } - env->cregs[i] =3D (env->cregs[i] & 0xFFFFFFFF00000000ULL) | val; + env->cregs[i] =3D deposit64(env->cregs[i], 0, 32, val); + HELPER_LOG("load ctl %d from 0x%" PRIx64 " =3D=3D 0x%x\n", i, src,= val); src +=3D sizeof(uint32_t); =20 if (i =3D=3D r3) { diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 886991e..4d964a8 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2545,7 +2545,6 @@ static ExitStatus op_lctl(DisasContext *s, DisasOps *= o) TCGv_i32 r1 =3D tcg_const_i32(get_field(s->fields, r1)); TCGv_i32 r3 =3D tcg_const_i32(get_field(s->fields, r3)); check_privileged(s); - potential_page_fault(s); gen_helper_lctl(cpu_env, r1, o->in2, r3); tcg_temp_free_i32(r1); tcg_temp_free_i32(r3); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509326700251.34323734983582; Mon, 22 May 2017 20:15:26 -0700 (PDT) Received: from localhost ([::1]:45903 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0I9-0007DT-C8 for importer@patchew.org; Mon, 22 May 2017 23:15:25 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54980) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06u-0005wf-QG for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06u-0003z2-0W for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:48 -0400 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:36082) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06t-0003yu-Tg for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:47 -0400 Received: by mail-qt0-x241.google.com with SMTP id j13so20679969qta.3 for ; Mon, 22 May 2017 20:03:47 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.46 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=6JPfWAqdR19YwBeFVFyuFuPM8XqA9YfSFY/8GQgEoNo=; b=m48nQgC/FQ6JGlNjUK7petGBs1uN9ZfU0MP663bCoI0pfWlOclxttpz2waKNyX/yCU EjT0uGiAX6LcZAdK6eWyP3zWKovyInboVc4MlwL3s4NorJJnL/5TavujLVKXTulGbnc0 EJtK5ANTJFxY9CC5PfYGQXKvMw+XsWcjJ5VzPIAdd3VUT+tr5MtkM0TjomxXXCXD9X07 +WFM0hz0/g9cynW/JUZeuQp7XYyrkeSCQ/lvV+W8kbO2Uug3NItN4cii7uBWowUjsQcS +R1au8FgBKgcffOoEmPP5NtqE2sj26YTWbnCPa/f4yIQRtNHJ8jyzvLsLXSs+P1lvGpM 0CxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=6JPfWAqdR19YwBeFVFyuFuPM8XqA9YfSFY/8GQgEoNo=; b=kFrBkC0cwDqFn8Y6hye0pl7jvVhZ6euq54RzwR5Ha15qZxcvoNol8YzNMO7LpOU1rW /3UREAaigidEwdHQdpM7x6hwumBAXf2aa7qlYBDBkadhkNnRNbkLa4mjJrAJgXwhR6jU d5jrtudFMlB46VF+fLovB/HousGm82e7FC6J14IBB/fqFaICv6stiNm1o75gwJrLfF2v mzmtCcfa2SUj96lc/zWr/3IvOf7ncPwFaI3mDvtDfAz32AoQLPuFvAK4cEUs0+OW/4OW VvOR7HYZkbNBkbRDY6xWK6rlruS/fS0PpLjbswu7eZyv5Dr3BeDVbh7PMPFCjmPKMBkh x/wg== X-Gm-Message-State: AODbwcAKfTEN88CF+2tzNgHV7d+jGUFNfaUUBrJsje4PFKXzbG0QGYsg DTbeY4nFsp8B4AOB+9s= X-Received: by 10.200.37.106 with SMTP id 39mr26706482qtn.92.1495508627249; Mon, 22 May 2017 20:03:47 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:03:06 -0700 Message-Id: <20170523030312.6360-26-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH 25/31] target/s390x: Use unwind data for helper_stctl X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 10 ++++++---- target/s390x/translate.c | 2 -- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index b169e0e..1e31bd3 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -880,11 +880,12 @@ void HELPER(lctl)(CPUS390XState *env, uint32_t r1, ui= nt64_t a2, uint32_t r3) =20 void HELPER(stctg)(CPUS390XState *env, uint32_t r1, uint64_t a2, uint32_t = r3) { - int i; + uintptr_t ra =3D GETPC(); uint64_t dest =3D a2; + uint32_t i; =20 for (i =3D r1;; i =3D (i + 1) % 16) { - cpu_stq_data(env, dest, env->cregs[i]); + cpu_stq_data_ra(env, dest, env->cregs[i], ra); dest +=3D sizeof(uint64_t); =20 if (i =3D=3D r3) { @@ -895,11 +896,12 @@ void HELPER(stctg)(CPUS390XState *env, uint32_t r1, u= int64_t a2, uint32_t r3) =20 void HELPER(stctl)(CPUS390XState *env, uint32_t r1, uint64_t a2, uint32_t = r3) { - int i; + uintptr_t ra =3D GETPC(); uint64_t dest =3D a2; + uint32_t i; =20 for (i =3D r1;; i =3D (i + 1) % 16) { - cpu_stl_data(env, dest, env->cregs[i]); + cpu_stl_data_ra(env, dest, env->cregs[i], ra); dest +=3D sizeof(uint32_t); =20 if (i =3D=3D r3) { diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 4d964a8..3a2151f 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -3617,7 +3617,6 @@ static ExitStatus op_stctg(DisasContext *s, DisasOps = *o) TCGv_i32 r1 =3D tcg_const_i32(get_field(s->fields, r1)); TCGv_i32 r3 =3D tcg_const_i32(get_field(s->fields, r3)); check_privileged(s); - potential_page_fault(s); gen_helper_stctg(cpu_env, r1, o->in2, r3); tcg_temp_free_i32(r1); tcg_temp_free_i32(r3); @@ -3629,7 +3628,6 @@ static ExitStatus op_stctl(DisasContext *s, DisasOps = *o) TCGv_i32 r1 =3D tcg_const_i32(get_field(s->fields, r1)); TCGv_i32 r3 =3D tcg_const_i32(get_field(s->fields, r3)); check_privileged(s); - potential_page_fault(s); gen_helper_stctl(cpu_env, r1, o->in2, r3); tcg_temp_free_i32(r1); tcg_temp_free_i32(r3); --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509479611266.25191160760323; Mon, 22 May 2017 20:17:59 -0700 (PDT) Received: from localhost ([::1]:45915 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0Kc-00017O-5j for importer@patchew.org; Mon, 22 May 2017 23:17:58 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54991) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06w-0005y1-3r for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06v-0003zG-AO for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:50 -0400 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:34209) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06v-0003zC-6N for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:49 -0400 Received: by mail-qt0-x241.google.com with SMTP id l39so20704308qtb.1 for ; Mon, 22 May 2017 20:03:49 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.47 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=SfSEkVt6/Ds0QR7cccthrQjk0H9H1DXREaIRrMgI1ho=; b=lYpOxal7fprSa808Bf8Lmy4CsymEUxTdpMFt0KKEBu0AzyUWSdd4RVSwLAZ9uluKxu wpBk6CgwPxZEfo4Wo8TfYQf/LtGRFp0lYeYUwEdFFck8be5YBjXXzTZ5xWw5beGWYHWf oXCwVEo057VuxRI0Tws8ioLvihxvZzzYxkx4yJlKkmuwMnKMTvETaVA50QGnhlQwJGvv Dpjfs6FtRNqPFXrlPTdexsUBR7wccAW328Y1rWIQF30+nsj/mTK+yw5N1+FmcjJsEol4 CyYeYzUWp5ot7/DyA1j5zJrUVRP305Nm4wPnYbRk2TQOG954xTXhQVrgiWEY1wdWKPds 27Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=SfSEkVt6/Ds0QR7cccthrQjk0H9H1DXREaIRrMgI1ho=; b=Fqgrkb+iAMarz5xu/TaF4o/ztSuqcHq1ur58ejeHST+mxU9ara2MyBswvg0jby4v6p s87E3vs4BnVp7udJ/c8GD20OdMG+9zWdBMG24pvIeWme64v/m63br3A8+eYR/yjn3o38 usANPrDPRAzYLN9OOo/ui4pU9BE8Q/8ZCrCl4OWf/zYK72zl6sFrD6ydjZQjEW8nVnT8 c/S/3PHd5sc4prFvUtLG4rPeba8MLLhQdASsEbQ9mojDhPzWhjJs/lbpCiNzP5sVUpmh 7YfxLPES2DxHGWgeXkkWbQMXIvRObH293hOgVplyczC37RAqZVzvD9Dqe709fOmyyW3b 7Sew== X-Gm-Message-State: AODbwcA4+yQXAibqDZ/bFWCO3CJeUTg9DkEGGjeYr7WduSlEVn08WoTV eYr6c6uOwGYtSgm3So4= X-Received: by 10.200.57.57 with SMTP id s54mr26616170qtb.53.1495508628486; Mon, 22 May 2017 20:03:48 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:03:07 -0700 Message-Id: <20170523030312.6360-27-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH 26/31] target/s390x: Use unwind data for helper_testblock X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 3 +++ target/s390x/translate.c | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 1e31bd3..a874f8a 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -912,6 +912,7 @@ void HELPER(stctl)(CPUS390XState *env, uint32_t r1, uin= t64_t a2, uint32_t r3) =20 uint32_t HELPER(testblock)(CPUS390XState *env, uint64_t real_addr) { + uintptr_t ra =3D GETPC(); CPUState *cs =3D CPU(s390_env_get_cpu(env)); uint64_t abs_addr; int i; @@ -920,12 +921,14 @@ uint32_t HELPER(testblock)(CPUS390XState *env, uint64= _t real_addr) abs_addr =3D mmu_real2abs(env, real_addr) & TARGET_PAGE_MASK; if (!address_space_access_valid(&address_space_memory, abs_addr, TARGET_PAGE_SIZE, true)) { + cpu_restore_state(cs, ra); program_interrupt(env, PGM_ADDRESSING, 4); return 1; } =20 /* Check low-address protection */ if ((env->cregs[0] & CR0_LOWPROT) && real_addr < 0x2000) { + cpu_restore_state(cs, ra); program_interrupt(env, PGM_PROTECTION, 4); return 1; } diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 3a2151f..694e099 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -4047,7 +4047,6 @@ static ExitStatus op_tcxb(DisasContext *s, DisasOps *= o) static ExitStatus op_testblock(DisasContext *s, DisasOps *o) { check_privileged(s); - potential_page_fault(s); gen_helper_testblock(cc_op, cpu_env, o->in2); set_cc_static(s); return NO_EXIT; --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509937594427.2815835230599; Mon, 22 May 2017 20:25:37 -0700 (PDT) Received: from localhost ([::1]:45954 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0S0-0007R7-7v for importer@patchew.org; Mon, 22 May 2017 23:25:36 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55002) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06x-0005z7-8i for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06w-0003zY-FS for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:51 -0400 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:36083) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06w-0003zQ-CZ for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:50 -0400 Received: by mail-qt0-x242.google.com with SMTP id j13so20680053qta.3 for ; Mon, 22 May 2017 20:03:50 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.48 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=vRsaq+u/0mFflQASzw7b/KmHuf8dAKuj9bAHaSGGJOo=; b=f1Dr8J2ocJsp4/IXaZy1uhHWQ5E0gtw8d0AE68k10YQKMr0e3lE+zOTbGEOGIZALwL lBe1RPV3H7pxGAiJuIoZz10RzjIw1GoRj3iEm3bgTlCMOPmsSi2GiWcmpC9EvmCRH3yf IHbTzZJ5ncfiBd8H0Fp7oSwXVF6xggU7/SOPn6lcyJfwI0n2JP36FYU4SKP3nb+qeDCD CJ4D5hMizumdf7b+Q+x3D93Av1tUgL41+ebJAWKDf8K+MBXrEdHUC+9NxK36Xc3dSf15 KmgO43U/pdBPAMXU+Gb1oj95wh4X6cYi/mvc9LPBnbi2hOX4S4nTIQjeMI76PFnTpFJ8 /2mA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=vRsaq+u/0mFflQASzw7b/KmHuf8dAKuj9bAHaSGGJOo=; b=m7ooCebXVcBeblX1Wvk2J5cB0akJ3AfazQuTtIMxNo1HQNshyyqJZY3NhsYvbiZc3R tTXzHsSgfAMMGOJYleWZK0tx5a8hqgK+YlrxDwfFnPdl+JVAgBkfoz3MN+ntfZkD9iHu mCJaiWyMxVV/CV+UfDqcktXeJNualRf3r+/q/jx2dbjwdAAPON7rK0NvPDJ08VMBFCmx yXfVcmWDnaBBuYO26T8EcKDbfRcspv6RiEDmEExOa8nHnMm41CbZt+asoPJXVCUy99Q9 RETotXo0dAblyZX82WjrNQSP8jPwepmz26Zo0l80iedxuZjFt5tNYp4c4PFKoxjMifgT 88gg== X-Gm-Message-State: AODbwcACmLHFwJ/4uhnbNMaeVJHGDzoOUbwHwH+VCkViu+qZFEmBsEHv bdQ1oMhV2iVVFUhAHyY= X-Received: by 10.200.48.44 with SMTP id f41mr23508764qte.88.1495508629672; Mon, 22 May 2017 20:03:49 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:03:08 -0700 Message-Id: <20170523030312.6360-28-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH 27/31] target/s390x: Use unwind data for helper_tprot X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 1 - target/s390x/translate.c | 1 - 2 files changed, 2 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index a874f8a..7f22bf0 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -943,7 +943,6 @@ uint32_t HELPER(testblock)(CPUS390XState *env, uint64_t= real_addr) uint32_t HELPER(tprot)(uint64_t a1, uint64_t a2) { /* XXX implement */ - return 0; } =20 diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 694e099..282fa27 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -4054,7 +4054,6 @@ static ExitStatus op_testblock(DisasContext *s, Disas= Ops *o) =20 static ExitStatus op_tprot(DisasContext *s, DisasOps *o) { - potential_page_fault(s); gen_helper_tprot(cc_op, o->addr1, o->in2); set_cc_static(s); return NO_EXIT; --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509632776561.4664491055198; Mon, 22 May 2017 20:20:32 -0700 (PDT) Received: from localhost ([::1]:45929 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0N5-0003DV-AB for importer@patchew.org; Mon, 22 May 2017 23:20:31 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55013) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD06y-00060K-FO for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06x-0003zo-Jo for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:52 -0400 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:36085) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06x-0003zh-Fo for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:51 -0400 Received: by mail-qt0-x242.google.com with SMTP id j13so20680092qta.3 for ; Mon, 22 May 2017 20:03:51 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.49 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=m3huJziVGEWsWiKUmvwOTd/6w6IPGWOwoKUC0oVf0IU=; b=aKcTzUHCKXISXHMFCfTL9MYv1895D2MgKA3GQL6EQwYlO/GVu3mLgq5JfbEUn2A0Go zJQFczOHJXo2gItkOi3/fz/ixmhaj45rS5TuQe0dMiA4MM6tPVk58sgXPnhLHNEtaz2f 2kFJ/B4weJ9Swh1m2YktT/veJ66xOUe/DXzd9hiH+4QGOAjd9aUN5jFydTKa4LNuRXUt xmAv+GGPOTJaavM069mUMc/qAg7aKYTFDp9m2KqOF5tJg6oOPYbPwlwvh+Gq0LNGv5Yw 1VecxJGvY+cynxS0VJDhZvorKF3ehRjz7kYEAG8H/8sqONKmAzAnV5o0GLwJ8DNMQ+ff vH7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=m3huJziVGEWsWiKUmvwOTd/6w6IPGWOwoKUC0oVf0IU=; b=XCccrKlBtkjByhPcopzx0nQhs6/BrjWgdeohWEncuEvgCJAxP1fw2+WAgVMZ6Xb9q2 Qfd2X0CiiX4d+TVwYfDg2Fbp6cW//nS8uS1CUbbKweaUwuyimusMy5KQIhCfPyGpflo7 wJ55OvtYOeqS9igq+CD9MHKIDlD7AnfvrD24mxrsjVljkXDBQYVIg7f6xe06Dtru3pES IIxbQ8UT+A3y+7Js4xmG8PkRCz6S5Lf4bvSXEhYZWdwpt7I3iEl+R9unGefNyhmU+2Bo 2WSEe/MuIsGmeaovptDsxcRSQXI2eWOwmaxDD5dstJcMeEaEmshWj6NilV+Of4e7XrMu lC3w== X-Gm-Message-State: AODbwcBkED7hwPeLI2qX2G0KlqfxQa+bEQt7Q65gVQdeqSq1aZc452mx yqCvkIXPpDQ9qBIfbJM= X-Received: by 10.200.40.193 with SMTP id j1mr26190203qtj.186.1495508630781; Mon, 22 May 2017 20:03:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:03:09 -0700 Message-Id: <20170523030312.6360-29-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH 28/31] target/s390x: Use unwind data for helper_lra X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Note that exception_index is not live during a TB, so there is no point saving it around mmu_translate. Signed-off-by: Richard Henderson --- target/s390x/mem_helper.c | 4 +--- target/s390x/translate.c | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 7f22bf0..81b27c0 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -1181,17 +1181,16 @@ uint64_t HELPER(lra)(CPUS390XState *env, uint64_t a= ddr) { CPUState *cs =3D CPU(s390_env_get_cpu(env)); uint32_t cc =3D 0; - int old_exc =3D cs->exception_index; uint64_t asc =3D env->psw.mask & PSW_MASK_ASC; uint64_t ret; int flags; =20 /* XXX incomplete - has more corner cases */ if (!(env->psw.mask & PSW_MASK_64) && (addr >> 32)) { + cpu_restore_state(cs, GETPC()); program_interrupt(env, PGM_SPECIAL_OP, 2); } =20 - cs->exception_index =3D old_exc; if (mmu_translate(env, addr, 0, asc, &ret, &flags, true)) { cc =3D 3; } @@ -1200,7 +1199,6 @@ uint64_t HELPER(lra)(CPUS390XState *env, uint64_t add= r) } else { ret |=3D addr & ~TARGET_PAGE_MASK; } - cs->exception_index =3D old_exc; =20 env->cc_op =3D cc; return ret; diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 282fa27..3e4b397 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2565,7 +2565,6 @@ static ExitStatus op_lctlg(DisasContext *s, DisasOps = *o) static ExitStatus op_lra(DisasContext *s, DisasOps *o) { check_privileged(s); - potential_page_fault(s); gen_helper_lra(o->out, cpu_env, o->in2); set_cc_static(s); return NO_EXIT; --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509526674486.846540772616; Mon, 22 May 2017 20:18:46 -0700 (PDT) Received: from localhost ([::1]:45916 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0LM-0001jn-Hk for importer@patchew.org; Mon, 22 May 2017 23:18:44 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55027) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD070-00060Z-51 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06y-000403-Oi for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:54 -0400 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:34299) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06y-0003zv-Kf for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:52 -0400 Received: by mail-qk0-x242.google.com with SMTP id u75so21422123qka.1 for ; Mon, 22 May 2017 20:03:52 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.51 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=bzlkstMWfGSBy1U7SrI1ZudBfkvjkJvycVeuO98nChg=; b=Fm0HoweWKQv+c/IgG3+RQGzs0utUNZLaLqttXl8Ywt18qEEPcbHqsMwtX2vEVzRSFG nyc/zgAeoIH4SPVdTIIuL7P9utyCH9J8pAX6X4DJO/x7pIqIYO3EVFZAv5b0Q6i44yDa Rg0xsJj/HQiTgAcYZ8DGtDUAzx82Oh0/SZp03SAtpxqG2OY9SreqmE3wzYbQPikNet54 +fMcvo/umu0kF/HNfrA3ymGyrxJ0RokbfUGzTLjkDjl09W+CX5IyzomJRi/l9407t9QQ 8BsHZXl9jtONrP21ETaLVG9rjrksb0ZKX5KAV5ik9gs3s/WZQnbDzrmnLLkRBeuazda6 KslA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=bzlkstMWfGSBy1U7SrI1ZudBfkvjkJvycVeuO98nChg=; b=slzJ08Q2xn2YN2JLuMkmmOfq5kAY2eDFlfrzj0r+/qwDFcU6yCkWWPGfcmDgAMxOiG 5dWxllAIr5pZIMV8okfWZO81iyuW592ChbzHEA25QkSuIJeN0Iiov1i+clKX4jT5eodQ kyomcEAAlh9iu/f+eGHweSwNqC8veuIrtV9HEYxk1Rlcdjl9VZmCnLh8ABu+8CmvnoLd Td7p5EkSa7K1T4ZWIdNh1laafy9CHXsXs6Cg3pLewQtmlc4mO0v0WG4espkTJkP5RWRO GSGbxynZScjSCZhtT88zxP59b7t/wyNDXQu9HyF2x3laHVOSbaTJ7twrUaXIz/PoNaCj ZI9g== X-Gm-Message-State: AODbwcBVlgL8TLZr9iFPqgS5vn4Hs+pGPHaUYCFgIoJS1O/ogCQPSqo3 rqzV6JhjIxe91zXR/2c= X-Received: by 10.55.166.69 with SMTP id p66mr25325238qke.180.1495508631868; Mon, 22 May 2017 20:03:51 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:03:10 -0700 Message-Id: <20170523030312.6360-30-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH 29/31] target/s390x: Use atomic operations for COMPARE SWAP PURGE X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/s390x/helper.h | 2 +- target/s390x/insn-data.def | 2 +- target/s390x/mem_helper.c | 32 ++++++++------------------------ target/s390x/translate.c | 42 ++++++++++++++++++++++++++++++++++++++---- 4 files changed, 48 insertions(+), 30 deletions(-) diff --git a/target/s390x/helper.h b/target/s390x/helper.h index 2b4e7be..a2e0bf2 100644 --- a/target/s390x/helper.h +++ b/target/s390x/helper.h @@ -107,13 +107,13 @@ DEF_HELPER_FLAGS_2(tprot, TCG_CALL_NO_RWG, i32, i64, = i64) DEF_HELPER_FLAGS_2(iske, TCG_CALL_NO_RWG_SE, i64, env, i64) DEF_HELPER_FLAGS_3(sske, TCG_CALL_NO_RWG, void, env, i64, i64) DEF_HELPER_FLAGS_2(rrbe, TCG_CALL_NO_RWG, i32, env, i64) -DEF_HELPER_3(csp, i32, env, i32, i64) DEF_HELPER_4(mvcs, i32, env, i64, i64, i64) DEF_HELPER_4(mvcp, i32, env, i64, i64, i64) DEF_HELPER_4(sigp, i32, env, i64, i32, i64) DEF_HELPER_FLAGS_2(sacf, TCG_CALL_NO_WG, void, env, i64) DEF_HELPER_FLAGS_3(ipte, TCG_CALL_NO_RWG, void, env, i64, i64) 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) diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index 3c3541c..4c91f30 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -837,7 +837,7 @@ =20 #ifndef CONFIG_USER_ONLY /* COMPARE AND SWAP AND PURGE */ - C(0xb250, CSP, RRE, Z, 0, ra2, 0, 0, csp, 0) + D(0xb250, CSP, RRE, Z, r1_32u, ra2, r1_P, 0, csp, 0, MO_TEUL) /* DIAGNOSE (KVM hypercall) */ C(0x8300, DIAG, RSI, Z, 0, 0, 0, 0, diag, 0) /* INSERT STORAGE KEY EXTENDED */ diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 81b27c0..4becc80 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -1029,30 +1029,6 @@ uint32_t HELPER(rrbe)(CPUS390XState *env, uint64_t r= 2) return re >> 1; } =20 -/* compare and swap and purge */ -uint32_t HELPER(csp)(CPUS390XState *env, uint32_t r1, uint64_t r2) -{ - S390CPU *cpu =3D s390_env_get_cpu(env); - uint32_t cc; - uint32_t o1 =3D env->regs[r1]; - uint64_t a2 =3D r2 & ~3ULL; - uint32_t o2 =3D cpu_ldl_data(env, a2); - - if (o1 =3D=3D o2) { - cpu_stl_data(env, a2, env->regs[(r1 + 1) & 15]); - if (r2 & 0x3) { - /* flush TLB / ALB */ - tlb_flush(CPU(cpu)); - } - cc =3D 0; - } else { - env->regs[r1] =3D (env->regs[r1] & 0xffffffff00000000ULL) | o2; - cc =3D 1; - } - - return cc; -} - uint32_t HELPER(mvcs)(CPUS390XState *env, uint64_t l, uint64_t a1, uint64_= t a2) { int cc =3D 0, i; @@ -1130,6 +1106,14 @@ void HELPER(ptlb)(CPUS390XState *env) tlb_flush(CPU(cpu)); } =20 +/* flush global tlb */ +void HELPER(purge)(CPUS390XState *env) +{ + S390CPU *cpu =3D s390_env_get_cpu(env); + + tlb_flush_all_cpus(CPU(cpu)); +} + /* load using real address */ uint64_t HELPER(lura)(CPUS390XState *env, uint64_t addr) { diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 3e4b397..ca5be7b 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2003,11 +2003,45 @@ static ExitStatus op_cdsg(DisasContext *s, DisasOps= *o) #ifndef CONFIG_USER_ONLY static ExitStatus op_csp(DisasContext *s, DisasOps *o) { - TCGv_i32 r1 =3D tcg_const_i32(get_field(s->fields, r1)); + TCGMemOp mop =3D s->insn->data; + TCGv_i64 addr, old, cc; + TCGLabel *lab =3D gen_new_label(); + + /* Note that in1 =3D R1 (zero-extended expected value), + out =3D R1 (original reg), out2 =3D R1+1 (new value). */ + check_privileged(s); - gen_helper_csp(cc_op, cpu_env, r1, o->in2); - tcg_temp_free_i32(r1); - set_cc_static(s); + addr =3D tcg_temp_new_i64(); + old =3D tcg_temp_new_i64(); + tcg_gen_andi_i64(addr, o->in2, -1ULL << (mop & MO_SIZE)); + tcg_gen_atomic_cmpxchg_i64(old, addr, o->in1, o->out2, + get_mem_index(s), mop | MO_ALIGN); + tcg_temp_free_i64(addr); + + /* Are the memory and expected values (un)equal? */ + cc =3D tcg_temp_new_i64(); + tcg_gen_setcond_i64(TCG_COND_NE, cc, o->in1, old); + tcg_gen_extrl_i64_i32(cc_op, cc); + + /* Write back the output now, so that it happens before the + following branch, so that we don't need local temps. */ + if ((mop & MO_SIZE) =3D=3D MO_32) { + tcg_gen_deposit_i64(o->out, o->out, old, 0, 32); + } else { + tcg_gen_mov_i64(o->out, old); + } + tcg_temp_free_i64(old); + + /* If the comparison was equal, and the LSB of R2 was set, + then we need to flush the TLB (for all cpus). */ + tcg_gen_xori_i64(cc, cc, 1); + tcg_gen_and_i64(cc, cc, o->in2); + tcg_gen_brcondi_i64(TCG_COND_EQ, cc, 0, lab); + tcg_temp_free_i64(cc); + + gen_helper_purge(cpu_env); + gen_set_label(lab); + return NO_EXIT; } #endif --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509372051784.3725713283399; Mon, 22 May 2017 20:16:12 -0700 (PDT) Received: from localhost ([::1]:45908 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0Iq-0007ta-Vg for importer@patchew.org; Mon, 22 May 2017 23:16:09 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55031) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD070-00060b-L3 for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD06z-00040E-Tt for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:54 -0400 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:34212) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD06z-00040A-PY for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:53 -0400 Received: by mail-qt0-x241.google.com with SMTP id l39so20704449qtb.1 for ; Mon, 22 May 2017 20:03:53 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.52 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=920NV/W6EttEN51yCFeAOpaDdo83YcBea6OF16EE7og=; b=HoPUbaxTMTHMNyI1O+HNb58kPuLdUbGpx4BgKvOrzQjWiARkA/0PQ0hDGRQP5kZdj4 Yj5IeV4vQxQZRc53Uf72qbakDwMbD2k+wFxNpRrvouk8pjIbdtEf9sHMR3DtQ4DBzTHT t5ZTl1W6NeoEMnj++Li44Lb/brH4+b292HU5yIhVXDcy8LHLUOyQVdo32YgIxBrXfBVe dHl2b3eFmf5GOcYhbdYVszzjoRxgqYvueAX6puH5g/Jyl61JSlC5rEMG4g5SBCRzjB9m ypQnhpSkv57J9+jtDX6imDUtb/ZObJUpqMGOJNRCG9RINtdTJorRyqMgTexAvlRHbBP/ 8JWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=920NV/W6EttEN51yCFeAOpaDdo83YcBea6OF16EE7og=; b=q+kNAV8cq20fzRHukY7t4CLvYQ79ZoY6+3h1XGxO1SY9P+AMnIl5lHDgbUi2H7wwvc M4gpcNMHHXMRjgpZEPGsQKwNmvfXxFulmgvSr47xR5M4JhkAgZgKJbWs9Jwwch1b29L6 Jo5miMu20/zyZMD7hMKZrAapf36zkUps8h+BodQA8SQ4pPpSeEWfKYWCNfWw+MJ6ZkyP 58NKLv4SUUraKtU7ZDy6Pxu/zB1PxAKYIQMtvODVPNU3Jl+iaLrIeq+rlRzVcaWzA8JP Q0ktkO6dHqrsCX2rmCxJwgvGIuFFoXplX4FE38HxBuIgeUBGZkx97HdWloxEYVQU7B62 GigQ== X-Gm-Message-State: AODbwcCT13gsdV9sLFl+tFeF73O6bZ9Pd9byVnblOa23W4JZsTcgEWSu KynYUAhAMMCJuUCHqW8= X-Received: by 10.200.50.49 with SMTP id x46mr26719568qta.105.1495508633096; Mon, 22 May 2017 20:03:53 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:03:11 -0700 Message-Id: <20170523030312.6360-31-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH 30/31] target/s390x: Implement CSPG X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/s390x/insn-data.def | 1 + 1 file changed, 1 insertion(+) diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index 4c91f30..8604847 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -838,6 +838,7 @@ #ifndef CONFIG_USER_ONLY /* COMPARE AND SWAP AND PURGE */ D(0xb250, CSP, RRE, Z, r1_32u, ra2, r1_P, 0, csp, 0, MO_TEUL) + D(0xb98a, CSPG, RRE, Z, r1_o, ra2, r1_P, 0, csp, 0, MO_TEQ) /* DIAGNOSE (KVM hypercall) */ C(0x8300, DIAG, RSI, Z, 0, 0, 0, 0, diag, 0) /* INSERT STORAGE KEY EXTENDED */ --=20 2.9.4 From nobody Mon Apr 29 07:35:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1495509759446589.6197634506487; Mon, 22 May 2017 20:22:39 -0700 (PDT) Received: from localhost ([::1]:45940 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD0P8-0005BD-5r for importer@patchew.org; Mon, 22 May 2017 23:22:38 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55046) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dD072-000618-0L for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dD071-00040W-0W for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:56 -0400 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:34215) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dD070-00040O-Sd for qemu-devel@nongnu.org; Mon, 22 May 2017 23:03:54 -0400 Received: by mail-qt0-x241.google.com with SMTP id l39so20704501qtb.1 for ; Mon, 22 May 2017 20:03:54 -0700 (PDT) Received: from bigtime.twiddle.net.com ([2602:47:d954:1500:5e51:4fff:fe40:9c64]) by smtp.gmail.com with ESMTPSA id s190sm12918805qkh.57.2017.05.22.20.03.53 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 20:03:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=Bt31iLhXnru7a6WxbmORvyzMATnBr6ZAi7fJv10Wsso=; b=gIaH4rSFKyVMrwmsrPqlYYGj0p2+46UGQSXljG1Qp1MdPbB0w6l6EP2nLGW70ByuMC 1u3gbStPScfK8LtEiQRxhV4HcBAZ2iRx6POzQa+tzzATSwzLJgrP2siaYj1zjbEP9IRg D6fbTLHcygieS24WQ7ktyf2bHa0lkXT/PKCCY0erLB3XRfVyTKVWqrDJAwzuDiBznsLu /WbRLO9MoR/lytYpnGs+J3jh3zHyMUZWRuT/gv0qNm9Jb6xJnDaO9z/RjEkAe7Ibl6Jt n1SoIKUTkvs1D6BQbgeBTkKIqQMETRW3I1HRx0GPJsiNEx9KOrz4+I5TWBsD1bKCxOxL xcnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=Bt31iLhXnru7a6WxbmORvyzMATnBr6ZAi7fJv10Wsso=; b=hLYHd+Q5kNsjGAIQLAuRoRLNfEQSLjbC7X+ggJ6qi5y+qSRuWCBdPw82mDbDglPz/l RatGalWruVC3MYvltqOoiCiIOMF8LSwW+PqmKwH5YgtsEUMiwGDRAfERZVxcLyAgIH6P I9PJZuaocLujBzvR1uvNoDSVUmW1UVtp4fcp5chTBukmNlxsGsOTGLg0nLAj5OgLg9Gw N3ECpR5+zb7nYS+gePCu85FwJ1TEYBcpgA+AWawOv1TDsMQUeJ/LEabFgyo3jdvPDTJn oZwMTt9mR88Y/UmztzsBdBaVgeQStLqpI00s7GdyJ5H4HxuMQYp+hXchSDLYehfQzaMe 6viA== X-Gm-Message-State: AODbwcBlAYwW+JE9jzFs/cmKu1ht7ZCxKZ6xk8PZsGwPKubE5psQAl6y hyIjhy7guV1Em/yefVY= X-Received: by 10.200.34.109 with SMTP id p42mr25905233qtp.17.1495508634157; Mon, 22 May 2017 20:03:54 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 22 May 2017 20:03:12 -0700 Message-Id: <20170523030312.6360-32-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170523030312.6360-1-rth@twiddle.net> References: <20170523030312.6360-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH 31/31] target/s390x: Use unwind data for helper_mvcs/mvcp X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Aurelien Jarno Reviewed-by: Thomas Huth --- target/s390x/mem_helper.c | 8 ++++++-- target/s390x/translate.c | 2 -- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 4becc80..d8d29bd 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -1031,6 +1031,7 @@ uint32_t HELPER(rrbe)(CPUS390XState *env, uint64_t r2) =20 uint32_t HELPER(mvcs)(CPUS390XState *env, uint64_t l, uint64_t a1, uint64_= t a2) { + uintptr_t ra =3D GETPC(); int cc =3D 0, i; =20 HELPER_LOG("%s: %16" PRIx64 " %16" PRIx64 " %16" PRIx64 "\n", @@ -1044,7 +1045,8 @@ uint32_t HELPER(mvcs)(CPUS390XState *env, uint64_t l,= uint64_t a1, uint64_t a2) =20 /* XXX replace w/ memcpy */ for (i =3D 0; i < l; i++) { - cpu_stb_secondary(env, a1 + i, cpu_ldub_primary(env, a2 + i)); + uint8_t x =3D cpu_ldub_primary_ra(env, a2 + i, ra); + cpu_stb_secondary_ra(env, a1 + i, x, ra); } =20 return cc; @@ -1052,6 +1054,7 @@ uint32_t HELPER(mvcs)(CPUS390XState *env, uint64_t l,= uint64_t a1, uint64_t a2) =20 uint32_t HELPER(mvcp)(CPUS390XState *env, uint64_t l, uint64_t a1, uint64_= t a2) { + uintptr_t ra =3D GETPC(); int cc =3D 0, i; =20 HELPER_LOG("%s: %16" PRIx64 " %16" PRIx64 " %16" PRIx64 "\n", @@ -1065,7 +1068,8 @@ uint32_t HELPER(mvcp)(CPUS390XState *env, uint64_t l,= uint64_t a1, uint64_t a2) =20 /* XXX replace w/ memcpy */ for (i =3D 0; i < l; i++) { - cpu_stb_primary(env, a1 + i, cpu_ldub_secondary(env, a2 + i)); + uint8_t x =3D cpu_ldub_secondary_ra(env, a2 + i, ra); + cpu_stb_primary_ra(env, a1 + i, x, ra); } =20 return cc; diff --git a/target/s390x/translate.c b/target/s390x/translate.c index ca5be7b..67c85f0 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2928,7 +2928,6 @@ static ExitStatus op_mvcp(DisasContext *s, DisasOps *= o) { int r1 =3D get_field(s->fields, l1); check_privileged(s); - potential_page_fault(s); gen_helper_mvcp(cc_op, cpu_env, regs[r1], o->addr1, o->in2); set_cc_static(s); return NO_EXIT; @@ -2938,7 +2937,6 @@ static ExitStatus op_mvcs(DisasContext *s, DisasOps *= o) { int r1 =3D get_field(s->fields, l1); check_privileged(s); - potential_page_fault(s); gen_helper_mvcs(cc_op, cpu_env, regs[r1], o->addr1, o->in2); set_cc_static(s); return NO_EXIT; --=20 2.9.4