From nobody Thu Nov 6 17:16:25 2025 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; 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 1488398159754644.98359189668; Wed, 1 Mar 2017 11:55:59 -0800 (PST) Received: from localhost ([::1]:48505 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cjALu-0005fv-IA for importer@patchew.org; Wed, 01 Mar 2017 14:55:58 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37555) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cjALF-0005cu-Te for qemu-devel@nongnu.org; Wed, 01 Mar 2017 14:55:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cjALE-0006CH-KI for qemu-devel@nongnu.org; Wed, 01 Mar 2017 14:55:17 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:33924) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cjALE-0006C5-Fq; Wed, 01 Mar 2017 14:55:16 -0500 Received: by mail-qk0-x242.google.com with SMTP id s186so13528519qkb.1; Wed, 01 Mar 2017 11:55:16 -0800 (PST) Received: from bigtime.twiddle.net.com (mail.taphouse.com.au. [180.214.90.195]) by smtp.gmail.com with ESMTPSA id y48sm3830829qtc.33.2017.03.01.11.55.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Mar 2017 11:55:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=1NiprCJlcJfYcDjDPDB3m50QdA20rYfSXRPhZVgTDvw=; b=QivyIndFVwI7KU8PmZqMZ4ql2VtYtg9WLHMIY85OlHG9ohM3qd50dUyhVRmEJhCfoQ NsXnS1VSXHk96SH95kNEbhNHLUoHwSlT3g86bv8DIx/RLNJGEnv0xSvfRiPk4BNZ/zdO U+T0oJUAlXA/gHSZ8Qn/FrD08VEPnoM2N9rEhOwyaT0MW9gCEuCGsw8+O+rQvS4NrNZh /SNmTGPNJc5wPUCf1HVsBq24q4CGIE6fDwk3rHmL3LAws6BMcwiwPExLJnswyM/LK06C RHTbYqJAbJmzSLb+mLB1NHWaq8g9WTnN6w8p3s60z0103lSl0HE7pkSVYfKzhvlvMoU5 s5vg== 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:cc:subject:date:message-id :in-reply-to:references; bh=1NiprCJlcJfYcDjDPDB3m50QdA20rYfSXRPhZVgTDvw=; b=PZEmwQKcDl954W7T3rMSAxw4o/tZXzNUrK/ixAwjB77xfTbvO0ml+C5qksRYOZfKNW yE7V2jIGyBxZenc1ZN8TXC1D4GUPBDlnORAk+Ci/gYt94iIcKQqAK380GxdPDsjDyZhi hHcDf3CrLf1Pvwkgj6U9Xshh9HoZPJRGRHnlCd6L2Xfbb3FyZ+Z2LvQnHXbvQJfIek0s glseNFr6qzqFOfQbAy/5RTcQyuMp4ufp75ndUS7UtBDQN7t9uVcD9RvH1CzKbbGWlAeS tOYYO2yFT11c7L3JFeHsxUctB3p9KwuacjmNWklqfecYNedAg7bJIe6Cu8HOkiUuAurg 7XAw== X-Gm-Message-State: AMke39kDQIewZu9X9HlnGwxzhNz3HMXtB1+6KRJfVKrPpHZzoD2IeYmZ8et33awD05AgUA== X-Received: by 10.200.52.82 with SMTP id v18mr12146780qtb.273.1488398115733; Wed, 01 Mar 2017 11:55:15 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Date: Thu, 2 Mar 2017 06:55:02 +1100 Message-Id: <20170301195502.4432-2-rth@twiddle.net> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170301195502.4432-1-rth@twiddle.net> References: <20170301195502.4432-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PULL] target/sparc: Restore ldstub of odd asis 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: , Cc: peter.maydell@linaro.org, qemu-stable@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Fixes the booting of ss20 roms. Cc: qemu-stable@nongnu.org Reported-by: Michael Russo Tested-by: Mark Cave-Ayland Signed-off-by: Richard Henderson --- target/sparc/translate.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/target/sparc/translate.c b/target/sparc/translate.c index 655060c..aa6734d 100644 --- a/target/sparc/translate.c +++ b/target/sparc/translate.c @@ -2448,8 +2448,31 @@ static void gen_ldstub_asi(DisasContext *dc, TCGv ds= t, TCGv addr, int insn) gen_ldstub(dc, dst, addr, da.mem_idx); break; default: - /* ??? Should be DAE_invalid_asi. */ - gen_exception(dc, TT_DATA_ACCESS); + /* ??? In theory, this should be raise DAE_invalid_asi. + But the SS-20 roms do ldstuba [%l0] #ASI_M_CTL, %o1. */ + if (parallel_cpus) { + gen_helper_exit_atomic(cpu_env); + } else { + TCGv_i32 r_asi =3D tcg_const_i32(da.asi); + TCGv_i32 r_mop =3D tcg_const_i32(MO_UB); + TCGv_i64 s64, t64; + + save_state(dc); + t64 =3D tcg_temp_new_i64(); + gen_helper_ld_asi(t64, cpu_env, addr, r_asi, r_mop); + + s64 =3D tcg_const_i64(0xff); + gen_helper_st_asi(cpu_env, addr, s64, r_asi, r_mop); + tcg_temp_free_i64(s64); + tcg_temp_free_i32(r_mop); + tcg_temp_free_i32(r_asi); + + tcg_gen_trunc_i64_tl(dst, t64); + tcg_temp_free_i64(t64); + + /* End the TB. */ + dc->npc =3D DYNAMIC_PC; + } break; } } --=20 2.9.3