From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751280; cv=none; d=zoho.com; s=zohoarc; b=k375Rw0P9JsOhTlcV1px0fxFuEXDraNEziDg9w30510bb/8pitqKchPWw2SiDkBqiqyyeTlhCTngtxS3YR60ej/qMOeV2OcZiCKhfFQCdkmDHE5EHzYsC6PaF3bwYlrqAyRiy22hoF6DomPGD7vFt+w5Nm32RLb81+e1odgJH/g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751280; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Tszmi8yysvRuCxwYylX4mScv+Q4hFjeHGWVpSd5q8fA=; b=EuhAeUSF+hWXCHYxMQBOjzHeY/ol1kRqxIzLW91tSL3EdCzGyncdqgoePrEbH+H6xhJijPj2HeQRJoD9E4KzHfS7fGbDbJWaVt3d1cytqzmXfbgxVErwzXdOzG4pUlHMvvbz1Yf0SjWpkW16gVLyIKdXD9SVgrtZ5CUVci6BVjM= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571751280620383.12507932877384; Tue, 22 Oct 2019 06:34:40 -0700 (PDT) Received: from localhost ([::1]:57326 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuJ3-0004IX-Ct for importer@patchew.org; Tue, 22 Oct 2019 09:34:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36555) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGF-00022T-TO for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGE-00017O-TT for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:43 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:55757) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGE-00016z-NL for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:42 -0400 Received: by mail-wm1-x344.google.com with SMTP id g24so8122191wmh.5 for ; Tue, 22 Oct 2019 06:31:42 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.31.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:31:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Tszmi8yysvRuCxwYylX4mScv+Q4hFjeHGWVpSd5q8fA=; b=VmRf/RQnlFjM96sBtBuhhuo7eK2/nliOPO2lG0/lgEOZogm8B9k1WmE1mm2ZrKvhbI jxeFvOT31m1NFobO4qwvVYqaqyZ4ubiwSJrWmCfcrBQFzwQloEqgNnDGx7tI8SUtrjdw Ay2cQ8XEyMZ4ShfsvX1QwG7XX5+3HOfX9hFsyjkcp0ttSuR+NGg5ihVG+9kMR34STOTG o24PTgBxb6Chn7ZQE16mc/yatYXGuiK2eh5wZ2x8Azqh6hVWnhS0UPmJcGAVPD4TlXgv xC21xdZksFhjhdUBK19Tesc6Bb4Kn2twM+Sh9MIv9MBIFS5gfdSaWuHNkMI/U+MU/My2 Idlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Tszmi8yysvRuCxwYylX4mScv+Q4hFjeHGWVpSd5q8fA=; b=LF6eAGwg/X545HNSuhuHTzePHfyzFshrRP3icPc33lBqw+wV9h4I/GAIISP2uSUcsw tKunztF380TbI0iGlvMfiEftc8Q5brvR9xiB8SzCLy92mXsL9ab0Y30u54pUIlai2OZm HiEvTqIPvFCp/iFZrmWaWbcSPQDDaKDgKpBQXBr25oTYWBYfSzRiB1cMCiuvUm4+v6S5 /ge9lJ5SlrzwR1PwIHsCeSFdC1yBcYRo13MQcqAyk5utLqYr3BKGKQ0TLWd1D4MSglLz pQixPmKqD4MeZxNctnMDwk/vYhABQkDdoSnfbyaIqfQOxXVCvYnE3mMeACDWavnbCAiD HpmA== X-Gm-Message-State: APjAAAW+PvZrlrVXyad744ZmHD5HFeh0Zq8+CC9NxXvhjdpluu59BKsV PYCIrswYJAb7RTfXZKIES+vU8COhTaU= X-Google-Smtp-Source: APXvYqw0z3noz3n7EcxZOdrB+ZZ0axTQdgtr9aKhgoRgFM0MlQcNq3OCWOzOW+y0mgLNGPLP4CrVFw== X-Received: by 2002:a1c:6a04:: with SMTP id f4mr3149513wmc.60.1571751101014; Tue, 22 Oct 2019 06:31:41 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 01/41] target/arm: Fix sign-extension for SMLAL* Date: Tue, 22 Oct 2019 14:30:54 +0100 Message-Id: <20191022133134.14487-2-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson The 32-bit product should be sign-extended, not zero-extended. Fixes: ea96b374641b Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Laurent Desnogues Message-id: 20190912183058.17947-1-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 698c594e8ce..96340520ee2 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -8045,7 +8045,9 @@ static bool op_smlaxxx(DisasContext *s, arg_rrrr *a, case 2: tl =3D load_reg(s, a->ra); th =3D load_reg(s, a->rd); - t1 =3D tcg_const_i32(0); + /* Sign-extend the 32-bit product to 64 bits. */ + t1 =3D tcg_temp_new_i32(); + tcg_gen_sari_i32(t1, t0, 31); tcg_gen_add2_i32(tl, th, tl, th, t0, t1); tcg_temp_free_i32(t0); tcg_temp_free_i32(t1); --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751285; cv=none; d=zoho.com; s=zohoarc; b=Uhm8usOx8pucmGT/FmMK6g19GjM+lH/csfsRIqFQKjK52E+4RcxrAPf3ncwfMwj0gf94xuIO28eQQEXLtKOGHhRnClApyYDRILTNPQMnYR9xxnySodyy7kZDoJo/7Ms6VR4wutVah8o8JfFlcdtpYf2vfzAOGpTDwLXjby+1gaQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751285; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GiGGoct5QT0NRciJUJZ8OfIOiz/gs+M8OMGCdLem8zI=; b=PVxpc2CTYW8BsA//TohI0ZtolHyn3fCakMqe3sDR3tGSQQmt61TMohgPt5A4EWK9Lyv+LMVpN4kGRXMu/gjH1/GhtXtgCgC0AByjplog3VHijT0UeEbA/bKnnMSJSBSrK2EZWPmILJRceIhZ+5xCqB7NUHlI8PTEuzA6/q01+lo= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571751285883458.10636262353887; Tue, 22 Oct 2019 06:34:45 -0700 (PDT) Received: from localhost ([::1]:57332 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuJ9-0004Vy-O1 for importer@patchew.org; Tue, 22 Oct 2019 09:34:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36588) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGK-00027r-8g for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGI-00018s-QT for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:48 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:35259) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGI-00018c-KI for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:46 -0400 Received: by mail-wm1-x32c.google.com with SMTP id v9so265176wml.0 for ; Tue, 22 Oct 2019 06:31:46 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.31.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:31:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=GiGGoct5QT0NRciJUJZ8OfIOiz/gs+M8OMGCdLem8zI=; b=kTThksGcOrvic9/PBkd9pcPAfj2nLPp2N6yEUZd5IcQ71yucX57/V5NRLEezGtUAW5 UYrsGERzSFHP/44fqkptoYtbpPituwjO6yf6j2ZfBS6/k42Oow5LjyMKGbAa9WWyogaX bx2d198S1cq3IApVjK/mYZcfiAXZpkqKqKnwNriIuCFyT0h/zYWaA0VeI7Yb7Bay31xr KlPWRcx2dx/Tq/rjsW63YyR31nnrsZO01AOzTzi3XoQQDEAlZQgoh5jlHeo1Mzv7cbX8 FqazRn4EgjcKv36IfT6H3RjQ4KfydGn4zWUPVxHN515YH+nqaDuNvWZtub6j3nZ927Jb xcvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GiGGoct5QT0NRciJUJZ8OfIOiz/gs+M8OMGCdLem8zI=; b=a2s5ZPU0/UA5E4XccMvcVL3b08Snkzr1CkPIpmx2Dq2NoDpH46Jx2QvKJ1lykCCCO8 LarTRufSrhHywkeKkMSCGYBPUtZv0pcw2wzN6VipBu3FegIHVrqPRtefo2rLe9fKK+7h b5qlFe0aOzvdSK6duMFloLdn1szsostaJB+EIQ3JsFH1wWOXzs4LO7ULvn1h4X9fzfAA h28bE+tQ6V945SsMZXv3ijDM9t91Sv6N7YrYZF1jyuqIrwhN517Eoov1YqEcy2Ydf5ph wP2nJHTBOZdZp+92pXlprOIUr/pZr8sTEdCFc21I9SHry7bOwsruD/KoE4LWyl3z+i/G snHw== X-Gm-Message-State: APjAAAWIwLmFZvPxPuDM3r3hgN5bWKPBYU/n6sVpxwPryWT3O9aAqeco LQQ0+DGhBY8ERvA6/Ake8oJbsH+9/nk= X-Google-Smtp-Source: APXvYqxYuGbCUiE34bEKQA/fHTu00jhwpMTJZh/s9P5uiNtUTP9A+fbeEPGGpqs2iPEyvomjfmj2Zw== X-Received: by 2002:a1c:7d95:: with SMTP id y143mr3195982wmc.143.1571751103637; Tue, 22 Oct 2019 06:31:43 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 02/41] aspeed: Add an AST2600 eval board Date: Tue, 22 Oct 2019 14:30:55 +0100 Message-Id: <20191022133134.14487-3-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32c X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: C=C3=A9dric Le Goater Define the board with 1 GiB of RAM but some boards can have up to 2 GiB. Signed-off-by: C=C3=A9dric Le Goater Reviewed-by: Joel Stanley Message-id: 20191016090745.15334-1-clg@kaod.org Signed-off-by: Peter Maydell --- include/hw/arm/aspeed.h | 1 + hw/arm/aspeed.c | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/include/hw/arm/aspeed.h b/include/hw/arm/aspeed.h index 02073a6b4d6..f49bc7081e4 100644 --- a/include/hw/arm/aspeed.h +++ b/include/hw/arm/aspeed.h @@ -18,6 +18,7 @@ typedef struct AspeedBoardConfig { const char *desc; const char *soc_name; uint32_t hw_strap1; + uint32_t hw_strap2; const char *fmc_model; const char *spi_model; uint32_t num_cs; diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index 52993f84b46..028191ff36f 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -88,6 +88,10 @@ struct AspeedBoardState { /* Witherspoon hardware value: 0xF10AD216 (but use romulus definition) */ #define WITHERSPOON_BMC_HW_STRAP1 ROMULUS_BMC_HW_STRAP1 =20 +/* AST2600 evb hardware value */ +#define AST2600_EVB_HW_STRAP1 0x000000C0 +#define AST2600_EVB_HW_STRAP2 0x00000003 + /* * The max ram region is for firmwares that scan the address space * with load/store to guess how much RAM the SoC has. @@ -187,6 +191,8 @@ static void aspeed_board_init(MachineState *machine, &error_abort); object_property_set_int(OBJECT(&bmc->soc), cfg->hw_strap1, "hw-strap1", &error_abort); + object_property_set_int(OBJECT(&bmc->soc), cfg->hw_strap2, "hw-strap2", + &error_abort); object_property_set_int(OBJECT(&bmc->soc), cfg->num_cs, "num-cs", &error_abort); object_property_set_int(OBJECT(&bmc->soc), machine->smp.cpus, "num-cpu= s", @@ -308,6 +314,12 @@ static void ast2500_evb_i2c_init(AspeedBoardState *bmc) i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), "ds1338", = 0x32); } =20 +static void ast2600_evb_i2c_init(AspeedBoardState *bmc) +{ + /* Start with some devices on our I2C busses */ + ast2500_evb_i2c_init(bmc); +} + static void romulus_bmc_i2c_init(AspeedBoardState *bmc) { AspeedSoCState *soc =3D &bmc->soc; @@ -455,6 +467,17 @@ static const AspeedBoardConfig aspeed_boards[] =3D { .num_cs =3D 2, .i2c_init =3D witherspoon_bmc_i2c_init, .ram =3D 512 * MiB, + }, { + .name =3D MACHINE_TYPE_NAME("ast2600-evb"), + .desc =3D "Aspeed AST2600 EVB (Cortex A7)", + .soc_name =3D "ast2600-a0", + .hw_strap1 =3D AST2600_EVB_HW_STRAP1, + .hw_strap2 =3D AST2600_EVB_HW_STRAP2, + .fmc_model =3D "w25q512jv", + .spi_model =3D "mx66u51235f", + .num_cs =3D 1, + .i2c_init =3D ast2600_evb_i2c_init, + .ram =3D 1 * GiB, }, }; =20 --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751445; cv=none; d=zoho.com; s=zohoarc; b=k69XkLCNrKOauzmICjpHk47MUoasi4jfxREPQ0eqSJOrpKKdDojqt7VxT1ImhzLUFAw3rFX4t88cuY+o3tHG53PqsUYC28jTFdclvCQ34eouf7mtiwqUDa3m1t7MIzajAcwlu+EKqSW42qiKiDn5TKpSom70VZVficT58jRu25E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751445; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=y6cZwi7KnbEYaso3vcojBuwQDGlT+TuR2VSfnVl/yHw=; b=jRqW0SD4slVHloF+7E6IEwwCo5ZOc8V+PbnJVxT5Ys4/TvU3lbnn1Q4C8sz3+CTONN8QJaZgoQklakJ+RVmKKYBY+eSM0+ONH5pueTPDUn2mC1hBZl11IvJY5wJ0H0i/UEHEu/+4INAKg2l6coCQB/8m14jclp0hJ0HMaLM4Qa0= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571751445222345.22492994426057; Tue, 22 Oct 2019 06:37:25 -0700 (PDT) Received: from localhost ([::1]:57446 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuLh-0008VN-Vx for importer@patchew.org; Tue, 22 Oct 2019 09:37:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36602) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGM-0002Aj-NG for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGL-00019r-D7 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:50 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:50811) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGL-00019b-6s for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:49 -0400 Received: by mail-wm1-x344.google.com with SMTP id q13so7247837wmj.0 for ; Tue, 22 Oct 2019 06:31:49 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.31.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:31:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=y6cZwi7KnbEYaso3vcojBuwQDGlT+TuR2VSfnVl/yHw=; b=Pu4HPBHE6wh6yIGgJmQGtkbOOqdp+absTXqhV56SuiWz64OmSCLI+dovTvV8nZuYQG i0UV1f+YQKz9DvGq+AuWw7ozk3579dnR6Jg2m67mDOr//czPGLoZXeZhGCzQDYdME5I+ 7oS1AHHYlKeSsbWu0jm+0DYWmnQeNgxJSemSsClYMyssA1R4ApjX+NiOmL9vCcunkfB+ kvrfhtcu7SNKwgRadzQfhghNQ9QymPGaRJp3WOTTbcCwDp2gw+dq3Xd9GcHK8SpjpRZO U2m20DNs0K15w0FH+Urd+F0N16zcYf/zKgxDsukrrVfu7zu1P+D1kvq8bBv0+qa3cifB lixQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=y6cZwi7KnbEYaso3vcojBuwQDGlT+TuR2VSfnVl/yHw=; b=k/l5fZCDs/j8aI8SFXJFLunU9me+e4MLSz+eEAoP2UZ03gFrTGEi/zYjSegXndTb+8 PBL6dJG7kNmEhlxd/mQcINP9udv2f6ZM7rrIGstul0qnM5EViLEbGEAwyXLm3TQWjC0P r26wDkyTEZAeV0vQ4U4kNviwH2pCYZmCGXObbFHCD+17B33/uX/87NZ70ZhYKMnNwkf4 qhTk+ClEQLOyxQFjInUzM8XlLJpoGWpws5aDxm02jLJqv4HCOmSJC9bLMy3ufbEHnkNk 8X9ASO3hTeVOuBBrmCxjodgsBOXhXVsH82CYtSzHcvnX+2C1owRoMDIIKE4EkDZI4t8k j5ww== X-Gm-Message-State: APjAAAUDX43a3csm8gq5a0eahWBmHQdDdP+vKhQU3BRlXz8lkM+lMGGN SPgK8yjqWAOdnzNUdLbzUf+Y7pf6abQ= X-Google-Smtp-Source: APXvYqzQ6Rt26WlSYDjAViSo0SR6oe8n7E+5iRRdvfiQZ+glSiTd0bp9OBSafWZtW1TVB93aGQanwA== X-Received: by 2002:a1c:234c:: with SMTP id j73mr3290812wmj.51.1571751107457; Tue, 22 Oct 2019 06:31:47 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 03/41] hw/timer/exynos4210_mct: Initialize ptimer before starting it Date: Tue, 22 Oct 2019 14:30:56 +0100 Message-Id: <20191022133134.14487-4-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Guenter Roeck When booting a recent Linux kernel, the qemu message "Timer with delta zero, disabling" is seen, apparently because a ptimer is started before being initialized. Fix the problem by initializing the offending ptimer before starting it. The bug is effectively harmless in the old QEMUBH setup because the sequence of events is: * the delta zero means the timer expires immediately * ptimer_reload() arranges for exynos4210_gfrc_event() to be called * ptimer_reload() notices the zero delta and disables the timer * later, the QEMUBH runs, and exynos4210_gfrc_event() correctly configures the timer and restarts it In the new transaction based API the bug is still harmless, but differences of when the callback function runs mean the message is not printed any more: * ptimer_run() does nothing as it's inside a transaction block * ptimer_transaction_commit() sees it has work to do and calls ptimer_reload() * the zero delta means the timer expires immediately * ptimer_reload() calls exynos4210_gfrc_event() directly * exynos4210_gfrc_event() configures the timer * the delta is no longer zero so ptimer_reload() doesn't complain (the zero-delta test is after the trigger-callback in the ptimer_reload() function) Regardless, the behaviour here was not intentional, and we should just program the ptimer correctly to start with. Signed-off-by: Guenter Roeck Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Peter Maydell Message-id: 20191018143149.9216-1-peter.maydell@linaro.org [PMM: Expansion/clarification of the commit message: the message is about a zero delta, not a zero period; added detail to the commit message of the analysis of what is happening and why the kernel boots even with the message; added note that the message goes away with the new ptimer API] Signed-off-by: Peter Maydell --- hw/timer/exynos4210_mct.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/timer/exynos4210_mct.c b/hw/timer/exynos4210_mct.c index 72257584145..944120aea59 100644 --- a/hw/timer/exynos4210_mct.c +++ b/hw/timer/exynos4210_mct.c @@ -1254,7 +1254,7 @@ static void exynos4210_mct_write(void *opaque, hwaddr= offset, /* Start FRC if transition from disabled to enabled */ if ((value & G_TCON_TIMER_ENABLE) > (old_val & G_TCON_TIMER_ENABLE)) { - exynos4210_gfrc_start(&s->g_timer); + exynos4210_gfrc_restart(s); } if ((value & G_TCON_TIMER_ENABLE) < (old_val & G_TCON_TIMER_ENABLE)) { --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751384; cv=none; d=zoho.com; s=zohoarc; b=dreI7lpoTt9YQEhquVsRNWEF5mmR5fCCUOGwdK9lOuST+IRqbpiL8J2EISiP6PTHmWw480LbM6U37SN6LB4hSQh2kmVYY+wMAd+wnjyxHtIgl7lS/y9FQuVpG3P5hb5P6+/rZxek3cD4e1gXJPBoFdYsantabQ9BLEni2zWLBRI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751384; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=RtZ6eDxdSnhFwcSQva9Dw3k0dUzdlcR17D7YwApDOzk=; b=ib3lF7IIj/e0lLxijsybBLZ8XSjbdTeJ3GipSLXEic+vWwYxK5wZnMQa+TjhbkHIJ6AHSSyHefxHbJz+NKQCN0zGoU5tyfLvWAGgtvw8kfi6Wc9xdjdXVlHb86WBcg7MMh4bJbkHuxWYSLG+Au6ydykH7eJjXZVcjn4e/KtSHmo= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571751384918592.0532317702899; Tue, 22 Oct 2019 06:36:24 -0700 (PDT) Received: from localhost ([::1]:57438 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuKl-0006yu-8q for importer@patchew.org; Tue, 22 Oct 2019 09:36:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36627) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGS-0002Ie-PI for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGN-0001AU-Qw for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:56 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:42905) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGN-0001A9-Kt for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:51 -0400 Received: by mail-wr1-x444.google.com with SMTP id r1so8296786wrs.9 for ; Tue, 22 Oct 2019 06:31:51 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.31.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:31:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=RtZ6eDxdSnhFwcSQva9Dw3k0dUzdlcR17D7YwApDOzk=; b=Q5yOAHESFi/+2tpWoVFf1kKsk/j5mTzwL/GivZQCeaR7PneZez9LJhKxDRC3fgCPlO rB/zQaL71aTCyMa5bS9fyX3ETD8ukOGSjBO+MeF9g34Gi/bw+2LmM4nYiCjIhfrEylBR NoOBqm3D030JuaECNjxEi3zp52RoSCZTxgbs2xcweVib1Eijo4b6KXQ+pLdl9Sl88M7g mUFo2pzM/Ssjiu+AR0k3VJaZP5J0Cwt4d2ycbxLTFJp8cDdQIncUmS9jFOQwb9voIImO WJxV5D1sKYG5YaAuVor6v3OLQsnnPd4mbchKUw2JqAYR6IRvg3x5Ozd8dZhFLr8YpIbL 7U9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RtZ6eDxdSnhFwcSQva9Dw3k0dUzdlcR17D7YwApDOzk=; b=U99EkRLUQdhaeOrvBdPMjoOFNgPVuWaC9HB/CxWJQrhtG93eV1kLjt9ZsKbI9YaA0z E7k0VKGA29bqrybS4bE9L/qNihbKNBKSQrKSFtuoYnGSKS0AfTOjiwfIYtK1XTrjXIiz oETPuCfin9Hplv99weSq60iLgOaSAiajd6a458oK0QNnzD2olPmU2N0wl5+VytvjHP3J iZZ3/2JTXj/lv4KAHE0sfE4PyTYGlMSOJ5ZATLspPVzyUPbRg5HAUCabsCeFBjuJe0CP CjPVoCFFL1H+Vqapyr9Ib64zb0MPoFo9nNArBAIgEYfelmSsGgDwpc64VcDvB9hu7djU Z4xw== X-Gm-Message-State: APjAAAX2kY4RLMxNQL9ih5+Y4TyIPkHqU6IV6ilBnhndK+Lz6Y3P9+K3 lM5SmctkG2Yq96KQlr30D6QtR8sd6hg= X-Google-Smtp-Source: APXvYqyWlgqKmiaoKvJdb72RL1RtN5rWKMWz38fLvqTjE5eYGdKyRHt2AP2wSuIJ+L/hVFiXcpj2TQ== X-Received: by 2002:a5d:4ace:: with SMTP id y14mr3654128wrs.131.1571751109762; Tue, 22 Oct 2019 06:31:49 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 04/41] hw/timer/arm_mptimer.c: Undo accidental rename of arm_mptimer_init() Date: Tue, 22 Oct 2019 14:30:57 +0100 Message-Id: <20191022133134.14487-5-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::444 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) In commit b01422622b we did an automated rename of the ptimer_init() function to ptimer_init_with_bh(). Unfortunately this caught the unrelated arm_mptimer_init() function. Undo that accidental renaming. Fixes: b01422622b7c7293196fdaf1dbb4f495af44ecf9 Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20191017133331.5901-1-peter.maydell@linaro.org --- hw/timer/arm_mptimer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/timer/arm_mptimer.c b/hw/timer/arm_mptimer.c index fdf97d1800f..2bf11f788c3 100644 --- a/hw/timer/arm_mptimer.c +++ b/hw/timer/arm_mptimer.c @@ -237,7 +237,7 @@ static void arm_mptimer_reset(DeviceState *dev) } } =20 -static void arm_mptimer_init_with_bh(Object *obj) +static void arm_mptimer_init(Object *obj) { ARMMPTimerState *s =3D ARM_MPTIMER(obj); =20 @@ -319,7 +319,7 @@ static const TypeInfo arm_mptimer_info =3D { .name =3D TYPE_ARM_MPTIMER, .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(ARMMPTimerState), - .instance_init =3D arm_mptimer_init_with_bh, + .instance_init =3D arm_mptimer_init, .class_init =3D arm_mptimer_class_init, }; =20 --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751447; cv=none; d=zoho.com; s=zohoarc; b=R+0ZDMxrtLxUWCdgRRC8Po2k0QLWxS50nGSuUN9WOjm3H7OGIlwA6D3mOViqY+nBnoAQPkSk65iYZ99BwMlutOv+hkMuSj51bmzuAyWZgkDTcj1Cd7TcezPqrLHstg2fnRLItejEZqebE7v2I2CTJITo1H0AruiB7NuK/QM3baU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751447; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=JUEy3Kpo6e4fixjUzNZTRmi2uqnm25sL1IZPSuv+MZM=; b=MMCAK1oFPEuEOl/l7feKXPZAVSrI9CrGTyfdsf6PRdo4X/RZPaJIYJXrBPRaxjq4mYHq7oMl0N6au6UykQQqE0Xt58RxyN+0Yp7JE4cpSs3rc0s0GFE1m7KLEd7lSAUwzv06B0KWsRbHJ3j4npQx6A0Ss1ttq1qOFDEER80Pl0c= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 15717514479619.589740038641935; Tue, 22 Oct 2019 06:37:27 -0700 (PDT) Received: from localhost ([::1]:57450 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuLm-00009L-CT for importer@patchew.org; Tue, 22 Oct 2019 09:37:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36625) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGS-0002I4-Bx for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGR-0001BG-4j for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:56 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:41516) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGQ-0001Aw-Uk for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:55 -0400 Received: by mail-wr1-x443.google.com with SMTP id p4so18096654wrm.8 for ; Tue, 22 Oct 2019 06:31:54 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.31.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:31:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=JUEy3Kpo6e4fixjUzNZTRmi2uqnm25sL1IZPSuv+MZM=; b=RPmklUmDm/FKCimO6Ua1GQtUPMmyPwHDrSwHE9dW5foijSqFPwq8CZ7nS/kLB1KIcF 1V9uKijjPWP1mSCwnQhZQh9SvEoRehLrqeTSSlBT/DwwM/sR8oo2IKl6piRGW0HowC4E jYAQn5Vw1jkvp8DrxKgN3WjfUvhoVDq/SyVh2cLGVbxq7uSIgul0zMybFB2ocgOtKoeT 7x2wvEv8SZFnGldBBqNXhvD5+XhY5itOiw4rUsU5z4BgzR3HZ2GzgjAo4RQEVGzyeSBj 7ESR9S6h41/jLT+R3CNugFG3LoDoBsmGZ2qL45tbGrTZt2SoMkUt3tvQdoAm2VWGg4cI oh3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JUEy3Kpo6e4fixjUzNZTRmi2uqnm25sL1IZPSuv+MZM=; b=jdHDpl3f6zJevGHcDxNb2zoCF47mO+jAC4QWPWiXM8qDfRtsymdISS2GBmQ5aOVLTH e4kF/LjFwUhxnsRfYdHMCxpN6txN/U+GCnV6tS/J1yhVD5E2094kvRdcgsBmBQFvsOeV vQNUmLbecni3GcJb5mztEBeXmKhw3mNblvAMhQsdnqN78X5/5epKJ6XDQA9b/3auchq8 fAXAprP31UmFtErL7nPbBWfv+pAQ5JtDYQzlR+FLGv4vslq3FSbjEIptSBX97kNK8aea MpMAptIpwJHQtK5+WCygulLHIHdqxViUb39uFYXPLf0M9sFl7PFeWjfc0outL82fHGVW ZoMw== X-Gm-Message-State: APjAAAUeI2NUouHk9ktx834I++9NHfCX6Z6ZoljLYD8iMEMD9idIh08v X+WrMxPjaV+xjikp4sU00yrl7nFVr98= X-Google-Smtp-Source: APXvYqxXWZDjGo/YdLHMAwdR98FfSIhL8a3oNsim/wN+aEoooGLpsNDt/tr5tuREAkOyjQfIjypBKA== X-Received: by 2002:a5d:6787:: with SMTP id v7mr3697002wru.392.1571751112471; Tue, 22 Oct 2019 06:31:52 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 05/41] hw/timer/puv3_ost.c: Switch to transaction-based ptimer API Date: Tue, 22 Oct 2019 14:30:58 +0100 Message-Id: <20191022133134.14487-6-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Switch the puv3_ost code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20191017132905.5604-2-peter.maydell@linaro.org --- hw/timer/puv3_ost.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/hw/timer/puv3_ost.c b/hw/timer/puv3_ost.c index 0898da5ce97..697519593bb 100644 --- a/hw/timer/puv3_ost.c +++ b/hw/timer/puv3_ost.c @@ -13,7 +13,6 @@ #include "hw/sysbus.h" #include "hw/irq.h" #include "hw/ptimer.h" -#include "qemu/main-loop.h" #include "qemu/module.h" =20 #undef DEBUG_PUV3 @@ -27,7 +26,6 @@ typedef struct PUV3OSTState { SysBusDevice parent_obj; =20 MemoryRegion iomem; - QEMUBH *bh; qemu_irq irq; ptimer_state *ptimer; =20 @@ -68,6 +66,7 @@ static void puv3_ost_write(void *opaque, hwaddr offset, DPRINTF("offset 0x%x, value 0x%x\n", offset, value); switch (offset) { case 0x00: /* Match Register 0 */ + ptimer_transaction_begin(s->ptimer); s->reg_OSMR0 =3D value; if (s->reg_OSMR0 > s->reg_OSCR) { ptimer_set_count(s->ptimer, s->reg_OSMR0 - s->reg_OSCR); @@ -76,6 +75,7 @@ static void puv3_ost_write(void *opaque, hwaddr offset, (0xffffffff - s->reg_OSCR)); } ptimer_run(s->ptimer, 2); + ptimer_transaction_commit(s->ptimer); break; case 0x14: /* Status Register */ assert(value =3D=3D 0); @@ -128,9 +128,10 @@ static void puv3_ost_realize(DeviceState *dev, Error *= *errp) =20 sysbus_init_irq(sbd, &s->irq); =20 - s->bh =3D qemu_bh_new(puv3_ost_tick, s); - s->ptimer =3D ptimer_init_with_bh(s->bh, PTIMER_POLICY_DEFAULT); + s->ptimer =3D ptimer_init(puv3_ost_tick, s, PTIMER_POLICY_DEFAULT); + ptimer_transaction_begin(s->ptimer); ptimer_set_freq(s->ptimer, 50 * 1000 * 1000); + ptimer_transaction_commit(s->ptimer); =20 memory_region_init_io(&s->iomem, OBJECT(s), &puv3_ost_ops, s, "puv3_os= t", PUV3_REGS_OFFSET); --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751599; cv=none; d=zoho.com; s=zohoarc; b=ZcRcICL7dw8c/OC1j4/xiIypOF61sE5S6YCV4SdgJpne10oZZcCCuUMjJV5p34VH3mAMlfXZcfMpZP73pztj/RjXZYaqOeJOF2JcAqbLkwjjH+/+9X73HJz0vuyjkSodz6qE9UKrSt9/plsoXGXXU/8p1r/rceWRe+alfGeC058= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751599; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=uDrLBjDpGth9A9xH8MMq1NWvBIh2l7Tya6vjM+QNwc0=; b=ITnN0CkiSMcyb+seEpLl1CQt+qwEd1JqBG51cVHqHmlV7ibJm9UxNlmMtwTcMkBsR2B+807DAOwqEkA9nF7soeVLR+/44Jw0S5QqgfNuORQRJKgq2rkyqqNcBZ/8tHC+WlyIhg3ePvlniVqNe0nRuGg30xwguritADMZhtAy574= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 15717515997801006.7740872734175; Tue, 22 Oct 2019 06:39:59 -0700 (PDT) Received: from localhost ([::1]:57500 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuOE-0003qj-KT for importer@patchew.org; Tue, 22 Oct 2019 09:39:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36652) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGV-0002Lt-Kv for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGU-0001DC-2Q for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:59 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:36452) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGT-0001Cu-SV for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:31:58 -0400 Received: by mail-wm1-x341.google.com with SMTP id c22so7078221wmd.1 for ; Tue, 22 Oct 2019 06:31:57 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.31.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:31:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=uDrLBjDpGth9A9xH8MMq1NWvBIh2l7Tya6vjM+QNwc0=; b=pU9FpmRxUxoFFgEwr4Xpg/xm+CvLjordbgobZjQa3w8ZZ1x0pxtjgzFz3jHdeOD1TF 4zpJAhQVtcXNoYYVDeNVsF5L+jaLpHT3QvpvtKQlLmCAd1AhwGhKLIx96+cx6ta5kkHc md3ahfAGrvVV5ycfA9ZXC4/iP0wpj3yWxsGF/f1nvr/SSTB3MndSOUWksbPsAbnmI5wS SZse5P+CBD8ut5G4jBPfRnu6XwqkIUi1lDAx452KrLzdUz5n5VVmLh9wEOud9+qZxUaM 1Kc5XdEWmzj4DbRtLySDFA3yzsCbQ8bk/4ZHcJdCBhPJgaotfAfRpjKJdnehpphpvaKS Gcjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=uDrLBjDpGth9A9xH8MMq1NWvBIh2l7Tya6vjM+QNwc0=; b=RZeH/B+W1H/ZCuvJAmvsEvX2u+4U2RMEqeij4hxg6R8Ld/pd1ezteQniqBI3EJQNFI P+chvHFhGvISyEYVuGBgF+0CiOcIvh8a+7ain0TcUN6MtGtpUUoSMspldiK8PHXNefOC le5+orUJsl9f/QCgquHAFINOTi2LVeognSatfMTHI83rrvDg3MC2Q5mhhsb8eCVK2Ngl fE+b01admt4Ofs82GfDOt7JEaancu93lBS7ASggDSJf3AWzEU3DuxwcKuhOtIae3OlvE +ZApZVcP4E9z8zcSgcXr7pBwK+kFL9FhUo/b9sMKQozKzlKweoy6Uae6oHhfBsuZVbx+ ZXVQ== X-Gm-Message-State: APjAAAUuPdhm7ITTc9KUPzoNZ0zKuDbVAp3HOx+Xs/BQAEjLIQs3EzT5 /f5ZP1vd1g6mDHdCbS6TKX0Vy5YjCE0= X-Google-Smtp-Source: APXvYqwI2MuyNn+8ONOXpoI8Eppq2M67TxSBWZQ+Bu4xUH8lAUA1w3akIWbJeueXpt6/NqiPLLrcyA== X-Received: by 2002:a1c:c912:: with SMTP id f18mr3291383wmb.168.1571751115490; Tue, 22 Oct 2019 06:31:55 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 06/41] hw/timer/sh_timer: Switch to transaction-based ptimer API Date: Tue, 22 Oct 2019 14:30:59 +0100 Message-Id: <20191022133134.14487-7-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::341 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Switch the sh_timer code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20191017132905.5604-3-peter.maydell@linaro.org --- hw/timer/sh_timer.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/hw/timer/sh_timer.c b/hw/timer/sh_timer.c index 48a81b4dc79..13c4051808f 100644 --- a/hw/timer/sh_timer.c +++ b/hw/timer/sh_timer.c @@ -13,7 +13,6 @@ #include "hw/irq.h" #include "hw/sh4/sh.h" #include "qemu/timer.h" -#include "qemu/main-loop.h" #include "hw/ptimer.h" =20 //#define DEBUG_TIMER @@ -91,13 +90,18 @@ static void sh_timer_write(void *opaque, hwaddr offset, switch (offset >> 2) { case OFFSET_TCOR: s->tcor =3D value; + ptimer_transaction_begin(s->timer); ptimer_set_limit(s->timer, s->tcor, 0); + ptimer_transaction_commit(s->timer); break; case OFFSET_TCNT: s->tcnt =3D value; + ptimer_transaction_begin(s->timer); ptimer_set_count(s->timer, s->tcnt); + ptimer_transaction_commit(s->timer); break; case OFFSET_TCR: + ptimer_transaction_begin(s->timer); if (s->enabled) { /* Pause the timer if it is running. This may cause some inaccuracy dure to rounding, but avoids a whole lot of other @@ -148,6 +152,7 @@ static void sh_timer_write(void *opaque, hwaddr offset, /* Restart the timer if still enabled. */ ptimer_run(s->timer, 0); } + ptimer_transaction_commit(s->timer); break; case OFFSET_TCPR: if (s->feat & TIMER_FEAT_CAPT) { @@ -168,12 +173,14 @@ static void sh_timer_start_stop(void *opaque, int ena= ble) printf("sh_timer_start_stop %d (%d)\n", enable, s->enabled); #endif =20 + ptimer_transaction_begin(s->timer); if (s->enabled && !enable) { ptimer_stop(s->timer); } if (!s->enabled && enable) { ptimer_run(s->timer, 0); } + ptimer_transaction_commit(s->timer); s->enabled =3D !!enable; =20 #ifdef DEBUG_TIMER @@ -191,7 +198,6 @@ static void sh_timer_tick(void *opaque) static void *sh_timer_init(uint32_t freq, int feat, qemu_irq irq) { sh_timer_state *s; - QEMUBH *bh; =20 s =3D (sh_timer_state *)g_malloc0(sizeof(sh_timer_state)); s->freq =3D freq; @@ -203,8 +209,7 @@ static void *sh_timer_init(uint32_t freq, int feat, qem= u_irq irq) s->enabled =3D 0; s->irq =3D irq; =20 - bh =3D qemu_bh_new(sh_timer_tick, s); - s->timer =3D ptimer_init_with_bh(bh, PTIMER_POLICY_DEFAULT); + s->timer =3D ptimer_init(sh_timer_tick, s, PTIMER_POLICY_DEFAULT); =20 sh_timer_write(s, OFFSET_TCOR >> 2, s->tcor); sh_timer_write(s, OFFSET_TCNT >> 2, s->tcnt); --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751439; cv=none; d=zoho.com; s=zohoarc; b=BHdcKAp2hhEWJqpdzAakcKnKTtd7nZ9zBJ0Cw5AYVxJCHtknXyMqFdUIMRFC9++0fQmiEYDE7z5JerPufqh/E4bIfdT4Auxzro9P/ewMSFpI0EyJFjq18ftuQ/kHwVAguOIDm4NKkpbN8n2JpFm+VvJamA19ozwHSX3ZSa9Jl+M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751439; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=62R1pMICSQgalMj3UXUALVQERlO54EdusG7o+yE6TlY=; b=lHNRU0zwlQxnGBQRGpO69Ck/6TVhLhmxJhDCaj+CT6z/dL19MvhJrnswFvFm+0I2B3xw20ddGJ+/DLJSzMAgb2UyiHQiYax9NocKd8c9PB7WEy5y1hfUpHhsFh66ehAtQMwdN1YtFLz6h4R5YusLf6/F6J8jebNeEvy6Kk97vcw= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571751439310266.40411104419684; Tue, 22 Oct 2019 06:37:19 -0700 (PDT) Received: from localhost ([::1]:57442 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuLd-0008Py-IL for importer@patchew.org; Tue, 22 Oct 2019 09:37:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36670) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGX-0002OB-Dd for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGW-0001Do-46 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:01 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:39124) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGV-0001DX-TT for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:00 -0400 Received: by mail-wm1-x343.google.com with SMTP id r141so6597270wme.4 for ; Tue, 22 Oct 2019 06:31:59 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.31.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:31:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=62R1pMICSQgalMj3UXUALVQERlO54EdusG7o+yE6TlY=; b=Z4vb/i3R6ex105D81hSYBBuA86o9BCOBOVC1weSVsW3O56iD+KGBAQW8DB/Mb6jefh jCKCMDbF7Z3MA2a/DkXZkPuOMHWPPeAERCwXy2e4YLNCtWzFnBQa7S4ubGr2JYxTqI4V 4UicT21g0dxnFaP6ZClIwR7c+7RaxpgF7nyt82ZNRrXfW8MPcKnlwHYKS1djxs3Nii2C p8h7jyAmZ49SolDLwlR2ZImF35Qm6iR+COQlO6v/Mhq8LMhESETkMAmuSlXVikFhQgLg Vl3pX7nyrFRJRr+KZiZ0I5XdBlHZCef1f5FP/uk3pSTeAwnAB8PNN6F3VqPIuJNcyEkN fvGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=62R1pMICSQgalMj3UXUALVQERlO54EdusG7o+yE6TlY=; b=O8ofZUb8c3dgd2OeiBtBq5HmQ0jweVVemnUrqerC5kkAyJ6gSji12BkxnqCB+dWUSG VExO356ESKBVPSeYRgXREXeAeGsQsbwPdlIbZJfSrc7T9S6gSapLyxZLRQFe02BYFPQz mMlbPQOYXYr/JIJtul4ARhWstPXEjGH4shGTCe7Lr3wpTaJ1XN0364C7U7Tn2wLImd4B mitc16QMwGejYbDo2W837w78zBdvQZlAI+Y0hh2zLgxrsXB/iR4o4+VN2igHbb5DsZeR YyxC7csAhCXySS7oMz5w4of+gnF65KcaVzymveftd67hfhUn2NNUdOwm5LYZjIsq1eCe vQmw== X-Gm-Message-State: APjAAAWsi+ulPMCenZoRLrI68IUs0gBMp/XgVOJTpfNOEwyh0KUkccxB zHKxAPDBeK6h+8F4KVvnKwKLrQpQeAI= X-Google-Smtp-Source: APXvYqy0zEg3x1lefwuCs0LcKZ2x9Qu3CHF12Yvp0lOmJI4JI6kkO8mHc4pH8NoUSZgud29oYSBMlQ== X-Received: by 2002:a05:600c:28d:: with SMTP id 13mr3286359wmk.100.1571751118316; Tue, 22 Oct 2019 06:31:58 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 07/41] hw/timer/lm32_timer: Switch to transaction-based ptimer API Date: Tue, 22 Oct 2019 14:31:00 +0100 Message-Id: <20191022133134.14487-8-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::343 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Switch the lm32_timer code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the ytimer. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20191017132905.5604-4-peter.maydell@linaro.org --- hw/timer/lm32_timer.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/hw/timer/lm32_timer.c b/hw/timer/lm32_timer.c index fabde760b2d..3fdecd09fe2 100644 --- a/hw/timer/lm32_timer.c +++ b/hw/timer/lm32_timer.c @@ -30,7 +30,6 @@ #include "hw/ptimer.h" #include "hw/qdev-properties.h" #include "qemu/error-report.h" -#include "qemu/main-loop.h" #include "qemu/module.h" =20 #define DEFAULT_FREQUENCY (50*1000000) @@ -63,7 +62,6 @@ struct LM32TimerState { =20 MemoryRegion iomem; =20 - QEMUBH *bh; ptimer_state *ptimer; =20 qemu_irq irq; @@ -119,6 +117,7 @@ static void timer_write(void *opaque, hwaddr addr, s->regs[R_SR] &=3D ~SR_TO; break; case R_CR: + ptimer_transaction_begin(s->ptimer); s->regs[R_CR] =3D value; if (s->regs[R_CR] & CR_START) { ptimer_run(s->ptimer, 1); @@ -126,10 +125,13 @@ static void timer_write(void *opaque, hwaddr addr, if (s->regs[R_CR] & CR_STOP) { ptimer_stop(s->ptimer); } + ptimer_transaction_commit(s->ptimer); break; case R_PERIOD: s->regs[R_PERIOD] =3D value; + ptimer_transaction_begin(s->ptimer); ptimer_set_count(s->ptimer, value); + ptimer_transaction_commit(s->ptimer); break; case R_SNAPSHOT: error_report("lm32_timer: write access to read only register 0x" @@ -176,7 +178,9 @@ static void timer_reset(DeviceState *d) for (i =3D 0; i < R_MAX; i++) { s->regs[i] =3D 0; } + ptimer_transaction_begin(s->ptimer); ptimer_stop(s->ptimer); + ptimer_transaction_commit(s->ptimer); } =20 static void lm32_timer_init(Object *obj) @@ -195,10 +199,11 @@ static void lm32_timer_realize(DeviceState *dev, Erro= r **errp) { LM32TimerState *s =3D LM32_TIMER(dev); =20 - s->bh =3D qemu_bh_new(timer_hit, s); - s->ptimer =3D ptimer_init_with_bh(s->bh, PTIMER_POLICY_DEFAULT); + s->ptimer =3D ptimer_init(timer_hit, s, PTIMER_POLICY_DEFAULT); =20 + ptimer_transaction_begin(s->ptimer); ptimer_set_freq(s->ptimer, s->freq_hz); + ptimer_transaction_commit(s->ptimer); } =20 static const VMStateDescription vmstate_lm32_timer =3D { --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751610; cv=none; d=zoho.com; s=zohoarc; b=h3PssdGlWy5ql6dHysmU9q4dse5BKK5NutWxAoV0I/B/CI7lTlGCvB8yksKdER3jfamkzlzudX/AyiVpDJWbDqDPUlYY/+Hc0MJlcuC/07OHpAg9QVeHZ7h+U1X6pR1WEj/sXOG7xdhUH2ZgkvIuI8nIBDuK4cJCcqkVNQfHe+c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751610; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=S/QCyLDKmYi4qFNoLejQGFlQ6w8d+jjMc7szR08wghI=; b=gZ3Eah5ToEQiD/Dw6tq5pDX2Pn1Pgt8MZP2RtedQTZ97n8MAqOWxdMDEplHRqc/XFZuQQi4ZQuGeFB6ZdNnIzyIyeweh4jGr+ZRORToXdfXhOl8SEugtpW+udoTsMluTSGXHp3VfTNt19EqiXoGXQyE68jXsI9vbenqYgYSKwt8= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571751610143839.71190193249; Tue, 22 Oct 2019 06:40:10 -0700 (PDT) Received: from localhost ([::1]:57504 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuOP-0003vL-2L for importer@patchew.org; Tue, 22 Oct 2019 09:40:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36682) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGZ-0002QE-6t for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGX-0001EM-SC for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:03 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:51970) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGX-0001E5-MJ for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:01 -0400 Received: by mail-wm1-x344.google.com with SMTP id q70so10126193wme.1 for ; Tue, 22 Oct 2019 06:32:01 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.31.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:31:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=S/QCyLDKmYi4qFNoLejQGFlQ6w8d+jjMc7szR08wghI=; b=xRrPIVPZ492raVhjOCqPdOZNBB/RY8d64YbKQqsI629hGWLCQWpb8W4TZ8gz/PG0pS 3gPZySL0YJxTfJ+OMxEmjEZI8xi4vZVKuIYZ6ABssfJ9l5jKwhC/Iwik59mCf28yQYb/ fQx8ElmIIQA9EE8e3BPpEBouW2kN1NPgN+CRpOuSb/gaBkFw04u60H9X5CAuFIUxqmu5 SQ4XvFeRuXoeG32e3FGtc64Q4+33WV6AW9bmJI7KA/5N6253uz56a7i5qH+poDfRpao5 SxhOKnLXEA22oN969Kh6jX5fhuVWbdcoROfZVtDOljlzs8uMTNRwOkfafgqyS8FT4U6W os7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=S/QCyLDKmYi4qFNoLejQGFlQ6w8d+jjMc7szR08wghI=; b=HBI0vTXPN9Z/2I1nAoyCqI4cjplfNPeTWyj6hKV28YvNxkSlZ8ZGAkkm5Kdm1jyp+/ eTSu1dB9nLC6uoeylKxZBVl+1+ryt9XJYpz+1neZipXbnkWtriaVG5J4wMyfw3ahk2dL 6J/A67gHgtoX0un8P5oxsqSFr+R2smQHb53hA95os132zE51TIAZTmWYzGYLVf+pJEnJ gR9ia0WdEqwlFnSGNyoROwtKl4bA16JJP1Ly5b91qmxrJAbBHfaecVmx+bju2yKh7ZzQ enuHeWMhwphBRrEitnr8CwJWigu49Tms02IL6Cpi2dpoL7/pXJoLSaOVfDn3FcHJz7Up 1iMQ== X-Gm-Message-State: APjAAAVFz2Uz9YTkCzC4VKJcNL8gx70Ct9lJA2CD7FIgggGmVK/SheCS ZdKlYcd2gOSu4PosqCdirIXvov4N+mc= X-Google-Smtp-Source: APXvYqxkNNaDQuxYfNlqOi/fKGugdAK6m2Xono5C8gVB4Nn/7itB+etuw1JruDEhhgc/+Ms8ef220g== X-Received: by 2002:a05:600c:225a:: with SMTP id a26mr3110214wmm.73.1571751120082; Tue, 22 Oct 2019 06:32:00 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 08/41] hw/timer/altera_timer.c: Switch to transaction-based ptimer API Date: Tue, 22 Oct 2019 14:31:01 +0100 Message-Id: <20191022133134.14487-9-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Switch the altera_timer code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20191017132905.5604-6-peter.maydell@linaro.org --- hw/timer/altera_timer.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/hw/timer/altera_timer.c b/hw/timer/altera_timer.c index ee32e0ec1ff..79fc381252d 100644 --- a/hw/timer/altera_timer.c +++ b/hw/timer/altera_timer.c @@ -19,7 +19,6 @@ */ =20 #include "qemu/osdep.h" -#include "qemu/main-loop.h" #include "qemu/module.h" #include "qapi/error.h" =20 @@ -53,7 +52,6 @@ typedef struct AlteraTimer { MemoryRegion mmio; qemu_irq irq; uint32_t freq_hz; - QEMUBH *bh; ptimer_state *ptimer; uint32_t regs[R_MAX]; } AlteraTimer; @@ -105,6 +103,7 @@ static void timer_write(void *opaque, hwaddr addr, break; =20 case R_CONTROL: + ptimer_transaction_begin(t->ptimer); t->regs[R_CONTROL] =3D value & (CONTROL_ITO | CONTROL_CONT); if ((value & CONTROL_START) && !(t->regs[R_STATUS] & STATUS_RUN)) { @@ -115,10 +114,12 @@ static void timer_write(void *opaque, hwaddr addr, ptimer_stop(t->ptimer); t->regs[R_STATUS] &=3D ~STATUS_RUN; } + ptimer_transaction_commit(t->ptimer); break; =20 case R_PERIODL: case R_PERIODH: + ptimer_transaction_begin(t->ptimer); t->regs[addr] =3D value & 0xFFFF; if (t->regs[R_STATUS] & STATUS_RUN) { ptimer_stop(t->ptimer); @@ -126,6 +127,7 @@ static void timer_write(void *opaque, hwaddr addr, } tvalue =3D (t->regs[R_PERIODH] << 16) | t->regs[R_PERIODL]; ptimer_set_limit(t->ptimer, tvalue + 1, 1); + ptimer_transaction_commit(t->ptimer); break; =20 case R_SNAPL: @@ -183,9 +185,10 @@ static void altera_timer_realize(DeviceState *dev, Err= or **errp) return; } =20 - t->bh =3D qemu_bh_new(timer_hit, t); - t->ptimer =3D ptimer_init_with_bh(t->bh, PTIMER_POLICY_DEFAULT); + t->ptimer =3D ptimer_init(timer_hit, t, PTIMER_POLICY_DEFAULT); + ptimer_transaction_begin(t->ptimer); ptimer_set_freq(t->ptimer, t->freq_hz); + ptimer_transaction_commit(t->ptimer); =20 memory_region_init_io(&t->mmio, OBJECT(t), &timer_ops, t, TYPE_ALTERA_TIMER, R_MAX * sizeof(uint32_t)); @@ -204,8 +207,10 @@ static void altera_timer_reset(DeviceState *dev) { AlteraTimer *t =3D ALTERA_TIMER(dev); =20 + ptimer_transaction_begin(t->ptimer); ptimer_stop(t->ptimer); ptimer_set_limit(t->ptimer, 0xffffffff, 1); + ptimer_transaction_commit(t->ptimer); memset(t->regs, 0, sizeof(t->regs)); } =20 --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751528; cv=none; d=zoho.com; s=zohoarc; b=JmFngawiVBhSEJFbaN/FSwusZsFrqQRnwR1T2D4mUo6xnZP61b4hH1ozpswCdakR69KeAOS3r0vxRUeAlTjJoScmxcw4Ildo7svMrWIPlLaQOg1ik6tsKPK+GxRp5HdX3nHGsEwWO6g4+LDbAAF4/zmc+La2r/JdM+ZHBMzhtc4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751528; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=c/CnNVHFORCd4oE1CaU05xljf7UHrrubl901brpFpx8=; b=QxXZBz5OJRwKm8McHyPwkgov+CJRY+H8qw8c/ElqUmzibh43v0v+Vtf7DfC/m5r23mVYbtZY/DvhSWRgj6EVU9/Dm4qnLeKaw6Roj7WpZ9MOJ3lxKX776P4EqfIkwICUBkLUCnx7cJg79tO3A5rnbXCwHvAvjmEmQZGE7L8iFK8= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571751528117579.7923233059176; Tue, 22 Oct 2019 06:38:48 -0700 (PDT) Received: from localhost ([::1]:57492 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuN4-000283-Gj for importer@patchew.org; Tue, 22 Oct 2019 09:38:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36694) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGc-0002T1-15 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGa-0001Ev-KV for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:05 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:53086) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGZ-0001Eg-Tl for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:04 -0400 Received: by mail-wm1-x344.google.com with SMTP id r19so17321817wmh.2 for ; Tue, 22 Oct 2019 06:32:03 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=c/CnNVHFORCd4oE1CaU05xljf7UHrrubl901brpFpx8=; b=bDjuAcZwrG2L0E+zhgbnXzRSlXp0zQbaQBvued8E766giyJPloeZh2zxlF1EosCXet AIzzX/amIY+mwhnMByzqpxqVPRn8PL+Zs41YG/aMuCeB03leQJ05tMyr+xDEPgbEwnPk Ve/0Oh3bkL6iKUkZm+xs5fL6sNdGfi/FhtsSSNelaGiUXQtAsk7RATN0uCuo+Z8gNQxB hIe/t2PejtpNp26p0CtZxwaoTlYjQ2gZMrbAt+4K76DTqObHdKc3SzgckpAHM4X/3nTg gFAsm7bMf2C6SrcyW43Rr1Q/q2vaOwWVYPyj9Wt8cqambFLX4LTVufkOk32Z9p2kFGmr F5tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=c/CnNVHFORCd4oE1CaU05xljf7UHrrubl901brpFpx8=; b=Yze5Z4VfMMrC57/BWIwIZmFazrx7ii15EOuwaQ2ixh9FyhoDuY8qy/R1s7XJClefzR kkcD+af5yL7vy7FIleZbfo/OfIK5ByfXPr/8wtpTr7HTbwFIxJV8Vbqevs5fkVPRlntO lS0sr/G8Z/G/oR+hQJCEXhE/ezU/Vse25pH2Q0TrCjkau6bwPWva7lUqfZEC/OM9Ri+B WQtJ76Lpn/KZc4EfwyHtclc63z0btZfjJSANdjw91UJREFOF2EHaLi48S1fXXkZTWdvh 6Rf1M6kr1aC53/IjoFevUlYzBIC1gODbtoareTV8hTzmjJMTnSrNm4FeviLdyK2UOBrg 0sbg== X-Gm-Message-State: APjAAAU2LNjhvnAZ+e1eHLLza4bLDD3r+NAUqQ1rvX29sJN9cGam50hK loYNm1grm4HZb7UQyI2rwRSzi5OdJSE= X-Google-Smtp-Source: APXvYqxQRgdyvqkAXssBt2SyO5G906Jk+QDIsPEDz4CYVWM4QV7LY99rTYbKryPW3Sh1YhSbx9dn9w== X-Received: by 2002:a1c:6a04:: with SMTP id f4mr3151360wmc.60.1571751122530; Tue, 22 Oct 2019 06:32:02 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 09/41] hw/watchdog/etraxfs_timer.c: Switch to transaction-based ptimer API Date: Tue, 22 Oct 2019 14:31:02 +0100 Message-Id: <20191022133134.14487-10-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Switch the etraxfs_timer code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20191017132905.5604-7-peter.maydell@linaro.org --- hw/timer/etraxfs_timer.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/hw/timer/etraxfs_timer.c b/hw/timer/etraxfs_timer.c index ab27fe1895b..afe3d30a8ea 100644 --- a/hw/timer/etraxfs_timer.c +++ b/hw/timer/etraxfs_timer.c @@ -26,7 +26,6 @@ #include "hw/sysbus.h" #include "sysemu/reset.h" #include "sysemu/runstate.h" -#include "qemu/main-loop.h" #include "qemu/module.h" #include "qemu/timer.h" #include "hw/irq.h" @@ -59,9 +58,6 @@ typedef struct ETRAXTimerState { qemu_irq irq; qemu_irq nmi; =20 - QEMUBH *bh_t0; - QEMUBH *bh_t1; - QEMUBH *bh_wd; ptimer_state *ptimer_t0; ptimer_state *ptimer_t1; ptimer_state *ptimer_wd; @@ -155,6 +151,7 @@ static void update_ctrl(ETRAXTimerState *t, int tnum) } =20 D(printf ("freq_hz=3D%d div=3D%d\n", freq_hz, div)); + ptimer_transaction_begin(timer); ptimer_set_freq(timer, freq_hz); ptimer_set_limit(timer, div, 0); =20 @@ -176,6 +173,7 @@ static void update_ctrl(ETRAXTimerState *t, int tnum) abort(); break; } + ptimer_transaction_commit(timer); } =20 static void timer_update_irq(ETRAXTimerState *t) @@ -240,6 +238,7 @@ static inline void timer_watchdog_update(ETRAXTimerStat= e *t, uint32_t value) =20 t->wd_hits =3D 0; =20 + ptimer_transaction_begin(t->ptimer_wd); ptimer_set_freq(t->ptimer_wd, 760); if (wd_cnt =3D=3D 0) wd_cnt =3D 256; @@ -250,6 +249,7 @@ static inline void timer_watchdog_update(ETRAXTimerStat= e *t, uint32_t value) ptimer_stop(t->ptimer_wd); =20 t->rw_wd_ctrl =3D value; + ptimer_transaction_commit(t->ptimer_wd); } =20 static void @@ -311,9 +311,15 @@ static void etraxfs_timer_reset(void *opaque) { ETRAXTimerState *t =3D opaque; =20 + ptimer_transaction_begin(t->ptimer_t0); ptimer_stop(t->ptimer_t0); + ptimer_transaction_commit(t->ptimer_t0); + ptimer_transaction_begin(t->ptimer_t1); ptimer_stop(t->ptimer_t1); + ptimer_transaction_commit(t->ptimer_t1); + ptimer_transaction_begin(t->ptimer_wd); ptimer_stop(t->ptimer_wd); + ptimer_transaction_commit(t->ptimer_wd); t->rw_wd_ctrl =3D 0; t->r_intr =3D 0; t->rw_intr_mask =3D 0; @@ -325,12 +331,9 @@ static void etraxfs_timer_realize(DeviceState *dev, Er= ror **errp) ETRAXTimerState *t =3D ETRAX_TIMER(dev); SysBusDevice *sbd =3D SYS_BUS_DEVICE(dev); =20 - t->bh_t0 =3D qemu_bh_new(timer0_hit, t); - t->bh_t1 =3D qemu_bh_new(timer1_hit, t); - t->bh_wd =3D qemu_bh_new(watchdog_hit, t); - t->ptimer_t0 =3D ptimer_init_with_bh(t->bh_t0, PTIMER_POLICY_DEFAULT); - t->ptimer_t1 =3D ptimer_init_with_bh(t->bh_t1, PTIMER_POLICY_DEFAULT); - t->ptimer_wd =3D ptimer_init_with_bh(t->bh_wd, PTIMER_POLICY_DEFAULT); + t->ptimer_t0 =3D ptimer_init(timer0_hit, t, PTIMER_POLICY_DEFAULT); + t->ptimer_t1 =3D ptimer_init(timer1_hit, t, PTIMER_POLICY_DEFAULT); + t->ptimer_wd =3D ptimer_init(watchdog_hit, t, PTIMER_POLICY_DEFAULT); =20 sysbus_init_irq(sbd, &t->irq); sysbus_init_irq(sbd, &t->nmi); --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751835; cv=none; d=zoho.com; s=zohoarc; b=Gt7AVJehMaC9DyZYi3urH2XfbzWjrhNlwcjVDLbk1CA8Cp1IYPMhw6J8atIr5cYq4/ZbTgSZptGjuqqtm0wzwqOjrK4bMsNlNt0MH+HJyicqVUWIjYVAmn+8M0CyeZ3vsNDjdTkNiG+Wyfi/hEAdKG114NdOGxi5u6JTl1ozMj4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751835; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Fwd2iBNusbM/OQvc1QbvND2II8QsKKZ6PUURuQhaBB0=; b=Cx+IlCTiOPO354mokVy3VDbo7MDwkIsUG/k7BixMj3zv/5jITGfUVTHfXRt8PdvXLPOPO5AMbbnK/oE6DJ6eFnWRbLnDS2BLFwUK2Hlomgh6QEaT8AcZmOwTGvc27ThGe56UVXQzEIWIE4VqYJuF1MBkYYasyE/P+baIBQW1rdg= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571751835013446.0402782797289; Tue, 22 Oct 2019 06:43:55 -0700 (PDT) Received: from localhost ([::1]:57570 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuRz-0007vo-8G for importer@patchew.org; Tue, 22 Oct 2019 09:43:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36706) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGd-0002Tu-8c for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGb-0001FE-Ul for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:07 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:35168) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGb-0001F1-OV for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:05 -0400 Received: by mail-wm1-x341.google.com with SMTP id v9so266503wml.0 for ; Tue, 22 Oct 2019 06:32:05 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Fwd2iBNusbM/OQvc1QbvND2II8QsKKZ6PUURuQhaBB0=; b=XHjSRSNbhRJY+4m6I3uwOrSX8IB4HQ+2R9Jwy5wfDz0Bk/vkpAAsW+RqC1KoFspqRC vt/PEbSbenMjJcKttgn/DYhdsMhIP4Gw2KYZxnCRaNgc8B8vaAY9Bbx/lZJ0cCPz48Mh gLLTuo7EIxwpVFkVu/6XhuflpMPjdx3EaYdlMvrDiBM4PleiXQMt17z99gnCZ5LdGTea 2wR8kARrS8zA3vwwbYd/cToTGZDEiNPiWuIOP9lLX+Fldq9dIWoT5GDmI/Fm1hwkBjVy AY9EuEXsqlWxOA1MEPWxQUsd5W4IL/KQIy+tr7UQbukk8x4CG058l/DBbe8vm7Z0VP2z j0SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Fwd2iBNusbM/OQvc1QbvND2II8QsKKZ6PUURuQhaBB0=; b=dw2CSy2VLfDwwn+eSjGByMd3ZVx8BixjH5dYpfetCSEDen8Z4SW4/8i7lbZMqXWNSH 9k7RyXXWxyGBSHoIPaxOzGkDG3YJM3UtB4gxmcFckI6PRAIztfhCE3WeFPdhElmPvm9B 5EPNhuM6x4KmrAwRQFeom5+HQ+0Pz2/luh1LXQBmZ3vPv3Yl8lL9crfScL8Rc3RL6a8n owI6icJqqhgdF5GRNKXfPeaf40eX7pQbrUOridd7zSCtIegh3bhsfLQFhBtAUunLAhLx kUXL09AEdqb0Yjj5AwBpIlbwdNUzdQ+X/a9PcKIgwkw90JnubpYFS4IjVLppMWEomian eOjg== X-Gm-Message-State: APjAAAXzMlQlNYVZm5NgXNQmN7bwKMaIYxJFwFgNftV0WSQWiNutzDV4 LVKvn8JRELJXJ0cTmQX+zTGtbGv4Jso= X-Google-Smtp-Source: APXvYqxbXJBy8Wjay+8PGErsvjRy4TJe+lrg8zf4fhvP5Iu6/X8bT88nKdtsnep65UZ40mAxLkNYPg== X-Received: by 2002:a1c:7d95:: with SMTP id y143mr3197804wmc.143.1571751124203; Tue, 22 Oct 2019 06:32:04 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 10/41] hw/m68k/mcf5208.c: Switch to transaction-based ptimer API Date: Tue, 22 Oct 2019 14:31:03 +0100 Message-Id: <20191022133134.14487-11-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::341 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Switch the mcf5208 code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Thomas Huth Message-id: 20191017132905.5604-9-peter.maydell@linaro.org --- hw/m68k/mcf5208.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c index 34d34eba17c..158c5e4be75 100644 --- a/hw/m68k/mcf5208.c +++ b/hw/m68k/mcf5208.c @@ -9,7 +9,6 @@ #include "qemu/osdep.h" #include "qemu/units.h" #include "qemu/error-report.h" -#include "qemu/main-loop.h" #include "qapi/error.h" #include "qemu-common.h" #include "cpu.h" @@ -79,6 +78,7 @@ static void m5208_timer_write(void *opaque, hwaddr offset, return; } =20 + ptimer_transaction_begin(s->timer); if (s->pcsr & PCSR_EN) ptimer_stop(s->timer); =20 @@ -94,8 +94,10 @@ static void m5208_timer_write(void *opaque, hwaddr offse= t, =20 if (s->pcsr & PCSR_EN) ptimer_run(s->timer, 0); + ptimer_transaction_commit(s->timer); break; case 2: + ptimer_transaction_begin(s->timer); s->pmr =3D value; s->pcsr &=3D ~PCSR_PIF; if ((s->pcsr & PCSR_RLD) =3D=3D 0) { @@ -104,6 +106,7 @@ static void m5208_timer_write(void *opaque, hwaddr offs= et, } else { ptimer_set_limit(s->timer, value, s->pcsr & PCSR_OVW); } + ptimer_transaction_commit(s->timer); break; case 4: break; @@ -182,7 +185,6 @@ static void mcf5208_sys_init(MemoryRegion *address_spac= e, qemu_irq *pic) { MemoryRegion *iomem =3D g_new(MemoryRegion, 1); m5208_timer_state *s; - QEMUBH *bh; int i; =20 /* SDRAMC. */ @@ -191,8 +193,7 @@ static void mcf5208_sys_init(MemoryRegion *address_spac= e, qemu_irq *pic) /* Timers. */ for (i =3D 0; i < 2; i++) { s =3D g_new0(m5208_timer_state, 1); - bh =3D qemu_bh_new(m5208_timer_trigger, s); - s->timer =3D ptimer_init_with_bh(bh, PTIMER_POLICY_DEFAULT); + s->timer =3D ptimer_init(m5208_timer_trigger, s, PTIMER_POLICY_DEF= AULT); memory_region_init_io(&s->iomem, NULL, &m5208_timer_ops, s, "m5208-timer", 0x00004000); memory_region_add_subregion(address_space, 0xfc080000 + 0x4000 * i, --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751726; cv=none; d=zoho.com; s=zohoarc; b=AdSJ2B2N2ZesVIP4QoZGiyZBeDjnBGQNvCoTtupbg8jmcd7FlZgWtax08ejP68EC5NWNCL8iomVF1/lG0hYyu9vlPNrjFYFMSeiZNJUISnbZ8n0g7gaQZWcqvuH4u/I6/aJCAFYu+r10orq+2ZFyMAEiOjLJjGJ9nfRauTjtKLw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751726; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=emBzWLxUZK2MevrSuS1VObn1t11YZXLXP0lH9BsVSFU=; b=OpHHhXNAIrZndXofNkgJuPZ71H9HfgMM0Ay9/G9MI0Egurjw1nwQAuIctqvh/vhVbxaAPeOBo2y+AjJFoHYC50nB2KP9LnwoWAp+MgxldNT/Adb4lOUZEgV7y6zwffF9K/kXANkInnIc9pHuVG4XDXTdHzM0bx7eSXyTQiIeY60= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571751726505827.2343635807783; Tue, 22 Oct 2019 06:42:06 -0700 (PDT) Received: from localhost ([::1]:57556 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuQH-00063K-0G for importer@patchew.org; Tue, 22 Oct 2019 09:42:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36719) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGg-0002XM-3i for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGe-0001Fn-Hx for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:09 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:38233) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGe-0001Fc-Bj for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:08 -0400 Received: by mail-wr1-x442.google.com with SMTP id v9so6838331wrq.5 for ; Tue, 22 Oct 2019 06:32:08 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=emBzWLxUZK2MevrSuS1VObn1t11YZXLXP0lH9BsVSFU=; b=BVHjo1Oloy6sCd8UKYexxGd1dVWnEkA80TmiEPmlRxBm4AIE/ckE8T9sKeJDJcPY6C LR3PsCItfmB4Grf5ERu0sv1AYz3oun9RQ6Ljd0hQMRDpiPxXCOwCxxq+qMuCI/RLdXEc wxjJ4ZbKkxeOL9R4gr8TGXvLhDFeEppVMqxabIfmJcPuWhUZz2al2nj97IsP+lrBV+Fy rhwMwHLSc1y8UKyODhfv/uAOTKR0s7H+xV/eEZHm3wCH8AzvbzIlAmpGAO1qBcYygNRe +q22AWsWQ6qkyeiz/Pur6floxIUUSCTV5N4K8CWcD0EuRy2NIYich+a1kbAdL4qmgil3 3OJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=emBzWLxUZK2MevrSuS1VObn1t11YZXLXP0lH9BsVSFU=; b=ZAcFH8TDmmeyOzIgAf2ihpYmMGJeO1qNmh5lImP8zVl6vmBGyX5Ka9oCpWpMxr/gGV m3qNhCkqDAOTHW7Q+cdxhoYwtCsxSRw8cr+/kBHzcS/s4ZEhX+btmqFKHlMNc7uMNTgt z/qAZ0KDhZUO44petWrPgKPKr0zJ91gDEk4syDXWEVYLTYAcW7Qg9pgmxpvJj0Qhl0z2 GXx/zluCWwIz/xKW3F7CxGnnp3PjvL4Im+AUJ/xWxSG/TArzoVp8MKAKUBexXvBrvUTV dI1USpJmzBKZ0K0CBar/r47kdIH20aoc42DqMy5I6urRFHll/YrYtU8y+KjFB1nhOA/P DFQQ== X-Gm-Message-State: APjAAAXSZZAupqIhlTgex7Pnrh2LUfkizeLqATa2pp/OlOx1GvmXPuoF 0YH+/TDRs77nmzodQzTpKqoNxhMkHTk= X-Google-Smtp-Source: APXvYqww/FAofBTRxtxI51XLRPs6o08V9UuZrNEX5NzdaaqkT6up1UMPcl2+62R+WMO3eKWl4RdrIg== X-Received: by 2002:adf:f60a:: with SMTP id t10mr2972990wrp.35.1571751126344; Tue, 22 Oct 2019 06:32:06 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 11/41] target/arm: Split out rebuild_hflags_common Date: Tue, 22 Oct 2019 14:31:04 +0100 Message-Id: <20191022133134.14487-12-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Create a function to compute the values of the TBFLAG_ANY bits that will be cached. For now, the env->hflags variable is not used, and the results are fed back to cpu_get_tb_cpu_state. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-2-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/cpu.h | 29 ++++++++++++++++++----------- target/arm/helper.c | 26 +++++++++++++++++++------- 2 files changed, 37 insertions(+), 18 deletions(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 297ad5e47ad..ad79a6153bb 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -231,6 +231,9 @@ typedef struct CPUARMState { uint32_t pstate; uint32_t aarch64; /* 1 if CPU is in aarch64 state; inverse of PSTATE.n= RW */ =20 + /* Cached TBFLAGS state. See below for which bits are included. */ + uint32_t hflags; + /* Frequently accessed CPSR bits are stored separately for efficiency. This contains all the other bits. Use cpsr_{read,write} to access the whole CPSR. */ @@ -3140,15 +3143,18 @@ typedef ARMCPU ArchCPU; =20 #include "exec/cpu-all.h" =20 -/* Bit usage in the TB flags field: bit 31 indicates whether we are +/* + * Bit usage in the TB flags field: bit 31 indicates whether we are * in 32 or 64 bit mode. The meaning of the other bits depends on that. * We put flags which are shared between 32 and 64 bit mode at the top * of the word, and flags which apply to only one mode at the bottom. + * + * Unless otherwise noted, these bits are cached in env->hflags. */ FIELD(TBFLAG_ANY, AARCH64_STATE, 31, 1) FIELD(TBFLAG_ANY, MMUIDX, 28, 3) FIELD(TBFLAG_ANY, SS_ACTIVE, 27, 1) -FIELD(TBFLAG_ANY, PSTATE_SS, 26, 1) +FIELD(TBFLAG_ANY, PSTATE_SS, 26, 1) /* Not cached. */ /* Target EL if we take a floating-point-disabled exception */ FIELD(TBFLAG_ANY, FPEXC_EL, 24, 2) FIELD(TBFLAG_ANY, BE_DATA, 23, 1) @@ -3159,13 +3165,14 @@ FIELD(TBFLAG_ANY, BE_DATA, 23, 1) FIELD(TBFLAG_ANY, DEBUG_TARGET_EL, 21, 2) =20 /* Bit usage when in AArch32 state: */ -FIELD(TBFLAG_A32, THUMB, 0, 1) -FIELD(TBFLAG_A32, VECLEN, 1, 3) -FIELD(TBFLAG_A32, VECSTRIDE, 4, 2) +FIELD(TBFLAG_A32, THUMB, 0, 1) /* Not cached. */ +FIELD(TBFLAG_A32, VECLEN, 1, 3) /* Not cached. */ +FIELD(TBFLAG_A32, VECSTRIDE, 4, 2) /* Not cached. */ /* * We store the bottom two bits of the CPAR as TB flags and handle * checks on the other bits at runtime. This shares the same bits as * VECSTRIDE, which is OK as no XScale CPU has VFP. + * Not cached, because VECLEN+VECSTRIDE are not cached. */ FIELD(TBFLAG_A32, XSCALE_CPAR, 4, 2) /* @@ -3174,15 +3181,15 @@ FIELD(TBFLAG_A32, XSCALE_CPAR, 4, 2) * the same thing as the current security state of the processor! */ FIELD(TBFLAG_A32, NS, 6, 1) -FIELD(TBFLAG_A32, VFPEN, 7, 1) -FIELD(TBFLAG_A32, CONDEXEC, 8, 8) +FIELD(TBFLAG_A32, VFPEN, 7, 1) /* Not cached. */ +FIELD(TBFLAG_A32, CONDEXEC, 8, 8) /* Not cached. */ FIELD(TBFLAG_A32, SCTLR_B, 16, 1) /* For M profile only, set if FPCCR.LSPACT is set */ -FIELD(TBFLAG_A32, LSPACT, 18, 1) +FIELD(TBFLAG_A32, LSPACT, 18, 1) /* Not cached. */ /* For M profile only, set if we must create a new FP context */ -FIELD(TBFLAG_A32, NEW_FP_CTXT_NEEDED, 19, 1) +FIELD(TBFLAG_A32, NEW_FP_CTXT_NEEDED, 19, 1) /* Not cached. */ /* For M profile only, set if FPCCR.S does not match current security stat= e */ -FIELD(TBFLAG_A32, FPCCR_S_WRONG, 20, 1) +FIELD(TBFLAG_A32, FPCCR_S_WRONG, 20, 1) /* Not cached. */ /* For M profile only, Handler (ie not Thread) mode */ FIELD(TBFLAG_A32, HANDLER, 21, 1) /* For M profile only, whether we should generate stack-limit checks */ @@ -3194,7 +3201,7 @@ FIELD(TBFLAG_A64, SVEEXC_EL, 2, 2) FIELD(TBFLAG_A64, ZCR_LEN, 4, 4) FIELD(TBFLAG_A64, PAUTH_ACTIVE, 8, 1) FIELD(TBFLAG_A64, BT, 9, 1) -FIELD(TBFLAG_A64, BTYPE, 10, 2) +FIELD(TBFLAG_A64, BTYPE, 10, 2) /* Not cached. */ FIELD(TBFLAG_A64, TBID, 12, 2) =20 static inline bool bswap_code(bool sctlr_b) diff --git a/target/arm/helper.c b/target/arm/helper.c index 0d9a2d2ab74..8829d91ae1d 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11054,6 +11054,22 @@ ARMMMUIdx arm_stage1_mmu_idx(CPUARMState *env) } #endif =20 +static uint32_t rebuild_hflags_common(CPUARMState *env, int fp_el, + ARMMMUIdx mmu_idx, uint32_t flags) +{ + flags =3D FIELD_DP32(flags, TBFLAG_ANY, FPEXC_EL, fp_el); + flags =3D FIELD_DP32(flags, TBFLAG_ANY, MMUIDX, + arm_to_core_mmu_idx(mmu_idx)); + + if (arm_cpu_data_is_big_endian(env)) { + flags =3D FIELD_DP32(flags, TBFLAG_ANY, BE_DATA, 1); + } + if (arm_singlestep_active(env)) { + flags =3D FIELD_DP32(flags, TBFLAG_ANY, SS_ACTIVE, 1); + } + return flags; +} + void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc, target_ulong *cs_base, uint32_t *pflags) { @@ -11145,7 +11161,7 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target_= ulong *pc, } } =20 - flags =3D FIELD_DP32(flags, TBFLAG_ANY, MMUIDX, arm_to_core_mmu_idx(mm= u_idx)); + flags =3D rebuild_hflags_common(env, fp_el, mmu_idx, flags); =20 /* The SS_ACTIVE and PSTATE_SS bits correspond to the state machine * states defined in the ARM ARM for software singlestep: @@ -11153,9 +11169,9 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target_= ulong *pc, * 0 x Inactive (the TB flag for SS is always 0) * 1 0 Active-pending * 1 1 Active-not-pending + * SS_ACTIVE is set in hflags; PSTATE_SS is computed every TB. */ - if (arm_singlestep_active(env)) { - flags =3D FIELD_DP32(flags, TBFLAG_ANY, SS_ACTIVE, 1); + if (FIELD_EX32(flags, TBFLAG_ANY, SS_ACTIVE)) { if (is_a64(env)) { if (env->pstate & PSTATE_SS) { flags =3D FIELD_DP32(flags, TBFLAG_ANY, PSTATE_SS, 1); @@ -11166,10 +11182,6 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target= _ulong *pc, } } } - if (arm_cpu_data_is_big_endian(env)) { - flags =3D FIELD_DP32(flags, TBFLAG_ANY, BE_DATA, 1); - } - flags =3D FIELD_DP32(flags, TBFLAG_ANY, FPEXC_EL, fp_el); =20 if (arm_v7m_is_handler_mode(env)) { flags =3D FIELD_DP32(flags, TBFLAG_A32, HANDLER, 1); --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751914; cv=none; d=zoho.com; s=zohoarc; b=WcqWAsGnwuL0s0WpnJQM+kJuBjFdavvDYv+rid2Fh6Y1Jc1PKH7XBbv8HTsxmVnA+MmgCmZEwbTbIRoQTilCM6Zq8f72XICbVmNXHpWdY8nlQToET3edy0CN1Cv6QakrGqWnpiRixWglpVLhLRFwar2eLly2Rry/sd8OCog86p0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751914; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Y3CwxZ6AkYJNl+EhdLlXfHN9G+q8kHaXoA+Z1AMzPBo=; b=kbDJCOZ9Whp/oRL2GJQ5bTkEQ6LNBs5TYXBCge/5Sq8QvjC+LTIK7sxnRF93OtxcpBin0Je+RqZaTAvI/JVcAiayEkDGf1H8kgUxy7R3GS7Ll2h8gs3myAI9WfDB9ujyhIk1lNrF/AIt7V1F+ASGU4n9EX5p0+AzB4nmJe/Yqrk= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 157175191434429.98263619853401; Tue, 22 Oct 2019 06:45:14 -0700 (PDT) Received: from localhost ([::1]:57610 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuTJ-0001T9-43 for importer@patchew.org; Tue, 22 Oct 2019 09:45:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36731) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGi-0002Z1-2K for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGg-0001G9-F2 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:11 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:38584) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGg-0001Fx-8b for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:10 -0400 Received: by mail-wm1-x344.google.com with SMTP id 3so16197232wmi.3 for ; Tue, 22 Oct 2019 06:32:10 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Y3CwxZ6AkYJNl+EhdLlXfHN9G+q8kHaXoA+Z1AMzPBo=; b=Z0Cu0lm5IY9fj1I7LovzV/J/fNrkLFtG/xET6Jd4PeU0QzkftEkERmhCcqK60N945G XFEM6ngJ66zJy+phBXAoZ2tg8CgZQbDfEGg86LC/dxL0v6mVNCAvBmGSmdJxPHpogVj1 5sRHKG5B8gjigg8ID8OI20LRaG+foqjM2Dh6bXMuZ4DtKkfwH82EGV+ey63RcfGPpUgX VD69zeYAN5LOpbKub/HC4boI7lSHu2Ne6M+ZZ9MHv1O62ZuOoELl1QQDaihO499rkLj7 Jq3AWh+wHeRTuF5YFEJrw8SEcfyTGMwlqLvf5IaqMOKS8mAFtcwMPeBuiK9Jne6mvmuB hzhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Y3CwxZ6AkYJNl+EhdLlXfHN9G+q8kHaXoA+Z1AMzPBo=; b=K6p3PRex+XBHz12TVZjoA+x+KnhCkzdy8/fM0HlDBM9CeQiPplskC11zc1t5+YV4fB /WO9in6XxVjjAN/yAB/E2r7zzlR1q/2PVFbDuZktoDCsPIRXtzsUa/FXmADY/bfKHPtV lSfOiOSzBTUmJ0pp9TswokTVmzKyeIl6K6cjrf1ntLIZ76KCTkkRNHg3liz22JHNtoaE bnxB90IqxzfyQc45v1b4bJKpGy3PaU7LARL7sB2OFN2/6I8SY3pk8IYMWU3Jatza8E0o FoaIEhuJCyMNpy3nnZpqze51i4ooMr5VnB8cvIT1Dk7THjjff6v/3M5r3e8Ch51Rlrxm JEPg== X-Gm-Message-State: APjAAAV2Z185gkv1RJI2ylph/T9LFfw3TrG/H+Kw0Qken+HLxPOxNqsF z22qUvLEDdUfUdsqG7ruNUSPZUlO9Vs= X-Google-Smtp-Source: APXvYqw5MzrXqp6RmuD/sWW2Nhh7Viof+EUYe67sb39yovB80JHerzX0euHUyWHLq3UiLvmmxtbBvA== X-Received: by 2002:a1c:1d10:: with SMTP id d16mr3290975wmd.14.1571751128854; Tue, 22 Oct 2019 06:32:08 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 12/41] target/arm: Split out rebuild_hflags_a64 Date: Tue, 22 Oct 2019 14:31:05 +0100 Message-Id: <20191022133134.14487-13-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Create a function to compute the values of the TBFLAG_A64 bits that will be cached. For now, the env->hflags variable is not used, and the results are fed back to cpu_get_tb_cpu_state. Note that not all BTI related flags are cached, so we have to test the BTI feature twice -- once for those bits moved out to rebuild_hflags_a64 and once for those bits that remain in cpu_get_tb_cpu_state. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-3-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 131 +++++++++++++++++++++++--------------------- 1 file changed, 69 insertions(+), 62 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 8829d91ae1d..69da04786e8 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11070,6 +11070,71 @@ static uint32_t rebuild_hflags_common(CPUARMState = *env, int fp_el, return flags; } =20 +static uint32_t rebuild_hflags_a64(CPUARMState *env, int el, int fp_el, + ARMMMUIdx mmu_idx) +{ + ARMMMUIdx stage1 =3D stage_1_mmu_idx(mmu_idx); + ARMVAParameters p0 =3D aa64_va_parameters_both(env, 0, stage1); + uint32_t flags =3D 0; + uint64_t sctlr; + int tbii, tbid; + + flags =3D FIELD_DP32(flags, TBFLAG_ANY, AARCH64_STATE, 1); + + /* FIXME: ARMv8.1-VHE S2 translation regime. */ + if (regime_el(env, stage1) < 2) { + ARMVAParameters p1 =3D aa64_va_parameters_both(env, -1, stage1); + tbid =3D (p1.tbi << 1) | p0.tbi; + tbii =3D tbid & ~((p1.tbid << 1) | p0.tbid); + } else { + tbid =3D p0.tbi; + tbii =3D tbid & !p0.tbid; + } + + flags =3D FIELD_DP32(flags, TBFLAG_A64, TBII, tbii); + flags =3D FIELD_DP32(flags, TBFLAG_A64, TBID, tbid); + + if (cpu_isar_feature(aa64_sve, env_archcpu(env))) { + int sve_el =3D sve_exception_el(env, el); + uint32_t zcr_len; + + /* + * If SVE is disabled, but FP is enabled, + * then the effective len is 0. + */ + if (sve_el !=3D 0 && fp_el =3D=3D 0) { + zcr_len =3D 0; + } else { + zcr_len =3D sve_zcr_len_for_el(env, el); + } + flags =3D FIELD_DP32(flags, TBFLAG_A64, SVEEXC_EL, sve_el); + flags =3D FIELD_DP32(flags, TBFLAG_A64, ZCR_LEN, zcr_len); + } + + sctlr =3D arm_sctlr(env, el); + + if (cpu_isar_feature(aa64_pauth, env_archcpu(env))) { + /* + * In order to save space in flags, we record only whether + * pauth is "inactive", meaning all insns are implemented as + * a nop, or "active" when some action must be performed. + * The decision of which action to take is left to a helper. + */ + if (sctlr & (SCTLR_EnIA | SCTLR_EnIB | SCTLR_EnDA | SCTLR_EnDB)) { + flags =3D FIELD_DP32(flags, TBFLAG_A64, PAUTH_ACTIVE, 1); + } + } + + if (cpu_isar_feature(aa64_bti, env_archcpu(env))) { + /* Note that SCTLR_EL[23].BT =3D=3D SCTLR_BT1. */ + if (sctlr & (el =3D=3D 0 ? SCTLR_BT0 : SCTLR_BT1)) { + flags =3D FIELD_DP32(flags, TBFLAG_A64, BT, 1); + } + } + + return rebuild_hflags_common(env, fp_el, mmu_idx, flags); +} + void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc, target_ulong *cs_base, uint32_t *pflags) { @@ -11079,67 +11144,9 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target= _ulong *pc, uint32_t flags =3D 0; =20 if (is_a64(env)) { - ARMCPU *cpu =3D env_archcpu(env); - uint64_t sctlr; - *pc =3D env->pc; - flags =3D FIELD_DP32(flags, TBFLAG_ANY, AARCH64_STATE, 1); - - /* Get control bits for tagged addresses. */ - { - ARMMMUIdx stage1 =3D stage_1_mmu_idx(mmu_idx); - ARMVAParameters p0 =3D aa64_va_parameters_both(env, 0, stage1); - int tbii, tbid; - - /* FIXME: ARMv8.1-VHE S2 translation regime. */ - if (regime_el(env, stage1) < 2) { - ARMVAParameters p1 =3D aa64_va_parameters_both(env, -1, st= age1); - tbid =3D (p1.tbi << 1) | p0.tbi; - tbii =3D tbid & ~((p1.tbid << 1) | p0.tbid); - } else { - tbid =3D p0.tbi; - tbii =3D tbid & !p0.tbid; - } - - flags =3D FIELD_DP32(flags, TBFLAG_A64, TBII, tbii); - flags =3D FIELD_DP32(flags, TBFLAG_A64, TBID, tbid); - } - - if (cpu_isar_feature(aa64_sve, cpu)) { - int sve_el =3D sve_exception_el(env, current_el); - uint32_t zcr_len; - - /* If SVE is disabled, but FP is enabled, - * then the effective len is 0. - */ - if (sve_el !=3D 0 && fp_el =3D=3D 0) { - zcr_len =3D 0; - } else { - zcr_len =3D sve_zcr_len_for_el(env, current_el); - } - flags =3D FIELD_DP32(flags, TBFLAG_A64, SVEEXC_EL, sve_el); - flags =3D FIELD_DP32(flags, TBFLAG_A64, ZCR_LEN, zcr_len); - } - - sctlr =3D arm_sctlr(env, current_el); - - if (cpu_isar_feature(aa64_pauth, cpu)) { - /* - * In order to save space in flags, we record only whether - * pauth is "inactive", meaning all insns are implemented as - * a nop, or "active" when some action must be performed. - * The decision of which action to take is left to a helper. - */ - if (sctlr & (SCTLR_EnIA | SCTLR_EnIB | SCTLR_EnDA | SCTLR_EnDB= )) { - flags =3D FIELD_DP32(flags, TBFLAG_A64, PAUTH_ACTIVE, 1); - } - } - - if (cpu_isar_feature(aa64_bti, cpu)) { - /* Note that SCTLR_EL[23].BT =3D=3D SCTLR_BT1. */ - if (sctlr & (current_el =3D=3D 0 ? SCTLR_BT0 : SCTLR_BT1)) { - flags =3D FIELD_DP32(flags, TBFLAG_A64, BT, 1); - } + flags =3D rebuild_hflags_a64(env, current_el, fp_el, mmu_idx); + if (cpu_isar_feature(aa64_bti, env_archcpu(env))) { flags =3D FIELD_DP32(flags, TBFLAG_A64, BTYPE, env->btype); } } else { @@ -11159,9 +11166,9 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target_= ulong *pc, flags =3D FIELD_DP32(flags, TBFLAG_A32, XSCALE_CPAR, env->cp15.c15_cpar); } - } =20 - flags =3D rebuild_hflags_common(env, fp_el, mmu_idx, flags); + flags =3D rebuild_hflags_common(env, fp_el, mmu_idx, flags); + } =20 /* The SS_ACTIVE and PSTATE_SS bits correspond to the state machine * states defined in the ARM ARM for software singlestep: --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752041; cv=none; d=zoho.com; s=zohoarc; b=f5wYRb38I+wQRg0MUMASwYKZYkNilK5SfcNgAXE2KwFvRey5i5CnKbOVt6k2SOCFi5BDMnYQ1g9esPlr5+AMA9LBlDRWg1DYDvVskM9vtgCpvoTwtINrgaxP3MmE/44fd6yhjoNYuWSwsA/7D+7VKwsxF5tyV+JJAj8Mo9AAPTM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752041; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qHBbFwWpTe9roVO0og+7rDfMnZMMxLAZ2erc0L9NCXQ=; b=GVCWOYK1nte94jDZZYMywPkvJ8c8dvoSiSqBxe24fenF0wtJwkd4UtbfEG9Uq0N5xJe3KhcRCj6J7DLCgnremxIlEhEkrlpCM3zmYJrXDU1Cp8VUAgrMJbwHHT5XDKakM0pJAOr8RI5CYV5BowLcng/kbbWynTuLv/PkSzOrDD4= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752041572450.30946393407237; Tue, 22 Oct 2019 06:47:21 -0700 (PDT) Received: from localhost ([::1]:57632 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuVM-0003Ug-4m for importer@patchew.org; Tue, 22 Oct 2019 09:47:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36749) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGj-0002bA-Dg for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGi-0001GX-6c for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:13 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:34647) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGi-0001GK-0S for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:12 -0400 Received: by mail-wm1-x343.google.com with SMTP id v3so4015437wmh.1 for ; Tue, 22 Oct 2019 06:32:11 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=qHBbFwWpTe9roVO0og+7rDfMnZMMxLAZ2erc0L9NCXQ=; b=yzPCQ5Yq8nEOBeKJM0TAPSJi+P15qxM5/ZwxiA611iwg+Wn3HitkINS2Q9hfoZZozS LG/vvVSMdHkxnqr0AYugCqzMg17MhQ19KFx5yAvCjzLxQ+13hKcMuhYBLkMEjyu/V+4X Yj+ebfav5zg6GsqYkQ7yPHbGIodxHnf/7WXXMSWHP58DJofFKXNG/+TW8IWRAWojXLE8 ltdK31IrzQ/XH5rjKlvyES3eKQ3tJke74uTqbw1SsQ0X+2hNJt3KxYMBOBLtlMdAn/iu XZHT6CKH/jguv089BTOuhziHTi6zgspxBd8cyg50y8H9acMp4yuMT7JqTns9dfsYJhcl 6fQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qHBbFwWpTe9roVO0og+7rDfMnZMMxLAZ2erc0L9NCXQ=; b=WT7M1h55USJfI6Suo/UOuma3Z7QbIeYjTfVLDRoQ8oQqCpRAapW5PRilmLF/iRQBJz iacSKyElIZIC08h7TL7bCWUR7d6Zn9NneYFJYiHe0UsopdOcUQs1jlffIzTKUWXENoZX 3zCDtdUlB5eahAQvyLVf3FW7ooKt5j8XVJgp/g5XN1TQ1iDRx0jUVAkUckwjKgpbVM2T 3uSxd/vnu9diUKnBFABULxfd61cqdtGb4VAM11KNP9S/UXY77mgLNubMWsDSGYvkoKpZ +YeseW1sC5KjXvjsqKG8FroZtsbnYFVqt6ZNiHHvvp9Z83r5J1bvbaMo5lSy1qiorVwK 5XzA== X-Gm-Message-State: APjAAAUUSWDcFeZROPVOMhUb8/S1EC7EsI/iWsSEk868ahWT1KvlscD2 Ai+ocmB7WZ5BLCM4QYYdM1O1x+oDmc8= X-Google-Smtp-Source: APXvYqxwDvQmixuxTDGikJuy4A5MBJ2usHkkbP8LfOPGP0g6AB63jrp40DqYHFyefJPRwWsKoaHL2A== X-Received: by 2002:a7b:c924:: with SMTP id h4mr3206806wml.46.1571751130503; Tue, 22 Oct 2019 06:32:10 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 13/41] target/arm: Split out rebuild_hflags_common_32 Date: Tue, 22 Oct 2019 14:31:06 +0100 Message-Id: <20191022133134.14487-14-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::343 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Create a function to compute the values of the TBFLAG_A32 bits that will be cached, and are used by all profiles. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-4-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 69da04786e8..f05d0424745 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11070,6 +11070,15 @@ static uint32_t rebuild_hflags_common(CPUARMState = *env, int fp_el, return flags; } =20 +static uint32_t rebuild_hflags_common_32(CPUARMState *env, int fp_el, + ARMMMUIdx mmu_idx, uint32_t flags) +{ + flags =3D FIELD_DP32(flags, TBFLAG_A32, SCTLR_B, arm_sctlr_b(env)); + flags =3D FIELD_DP32(flags, TBFLAG_A32, NS, !access_secure_reg(env)); + + return rebuild_hflags_common(env, fp_el, mmu_idx, flags); +} + static uint32_t rebuild_hflags_a64(CPUARMState *env, int el, int fp_el, ARMMMUIdx mmu_idx) { @@ -11141,7 +11150,7 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target_= ulong *pc, ARMMMUIdx mmu_idx =3D arm_mmu_idx(env); int current_el =3D arm_current_el(env); int fp_el =3D fp_exception_el(env, current_el); - uint32_t flags =3D 0; + uint32_t flags; =20 if (is_a64(env)) { *pc =3D env->pc; @@ -11151,12 +11160,11 @@ void cpu_get_tb_cpu_state(CPUARMState *env, targe= t_ulong *pc, } } else { *pc =3D env->regs[15]; + flags =3D rebuild_hflags_common_32(env, fp_el, mmu_idx, 0); flags =3D FIELD_DP32(flags, TBFLAG_A32, THUMB, env->thumb); flags =3D FIELD_DP32(flags, TBFLAG_A32, VECLEN, env->vfp.vec_len); flags =3D FIELD_DP32(flags, TBFLAG_A32, VECSTRIDE, env->vfp.vec_st= ride); flags =3D FIELD_DP32(flags, TBFLAG_A32, CONDEXEC, env->condexec_bi= ts); - flags =3D FIELD_DP32(flags, TBFLAG_A32, SCTLR_B, arm_sctlr_b(env)); - flags =3D FIELD_DP32(flags, TBFLAG_A32, NS, !access_secure_reg(env= )); if (env->vfp.xregs[ARM_VFP_FPEXC] & (1 << 30) || arm_el_is_aa64(env, 1) || arm_feature(env, ARM_FEATURE_M)) { flags =3D FIELD_DP32(flags, TBFLAG_A32, VFPEN, 1); @@ -11166,8 +11174,6 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target_= ulong *pc, flags =3D FIELD_DP32(flags, TBFLAG_A32, XSCALE_CPAR, env->cp15.c15_cpar); } - - flags =3D rebuild_hflags_common(env, fp_el, mmu_idx, flags); } =20 /* The SS_ACTIVE and PSTATE_SS bits correspond to the state machine --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751822; cv=none; d=zoho.com; s=zohoarc; b=XKMk5RbaStZAPkrg8hQ2eYiP86jRnbsI9NtRgMFYREg2nHBT9Zl+NuIYdUj0emsfHckvla73ri5/gGh+3rQogDhcC+ieZR39SRtkq9arQNd8+FyH8POmvlVGjLQJlBWWajPHXyAcDYXHrTxXOLZ+RYJeRdb2ICLCVgZK1MhHlcM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751822; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1/0uDc0DHGob6UAKtFOsK23bEJ5ERJbBTkT9fbpptos=; b=OrYtDwmIx0vX1YvUvUeo+C50cDTAmGkJobrfF9hevFbE+Z1CU5efH4ZS2SKLY5xnUNlDzesI74DYYQPuRXwc+gbxasZrhpnbL99NrvYimLLSKv8uBNxeyf+4GhCEdymfo6GaTpxHVyrpeD+T+2PxWTt0MJeTZulg0e2vXujSFw4= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571751822608314.2489207870258; Tue, 22 Oct 2019 06:43:42 -0700 (PDT) Received: from localhost ([::1]:57566 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuRp-0007f7-0g for importer@patchew.org; Tue, 22 Oct 2019 09:43:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36767) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGm-0002eL-Md for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGk-0001HE-Ad for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:16 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:34429) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGk-0001H1-4H for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:14 -0400 Received: by mail-wr1-x444.google.com with SMTP id t16so12958935wrr.1 for ; Tue, 22 Oct 2019 06:32:14 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=1/0uDc0DHGob6UAKtFOsK23bEJ5ERJbBTkT9fbpptos=; b=S0xTMDAR1AaaS1Oe/DuSJqz42v+0pFpegKM/+CyOWxu8ztJwgfMFo3t+0SjJqLNiFm Rbcz09xvnDt1tK0MvrenuPL6mq3hKPuLTfXINc8JPdm2zILQiHRoKpCDO2q8rOUzd4wf Z3JkRB2vKphigcXgE0Bg3SyVwtbOIFktqFiygFWnLjniI4z0/p20fdhUZZ99jEylPChP FfJ3eadSqRyp5BlUPT6JPj30IQBBL/liRfJ21gCEH6WD5PbHwVtkkrpxnOIiWibJYB4p PevpNNjQIlXPN+nvYXxkLcuxQmFXSnjygLbgb7wLhg/cAwxDayVMTXEGBbrtt/ITKUUT uHNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1/0uDc0DHGob6UAKtFOsK23bEJ5ERJbBTkT9fbpptos=; b=HWzTwBjlsfrdT459FXbBGnmMBo2V6/UDcsdav5y5vyqkNb8S8UFdNQfWEOjhfJFCkG QB1d1hcugz6/5Rw//6f/HqEYv2uNUq92uMk++Zbq7qKKqlLEHePnecv6To4DcJRYk4lj ea807r1BwzJcpTuZpeHVyQwRe8JPxxpl9wizmyi3Igdb8sDhcxYnLUuuBTtygS/IjLYF b9OdYyxqCBrZbGDxDrdFbimoIfPT/Z6BI/NJ30Yxis/ut0yi0GvpMEjxc7i5PyBnQziM BjkvmcmIbOAuHLowERX4HkFFyZJ/z1GzkaF+F3X9eKd7qOZvbdm1i1pNYPUEDxg3NV5u Tobw== X-Gm-Message-State: APjAAAXWkNmmSAaZOaLfLwlPck7A5m/0XO7YDvd9uvr9VMjqEyTEJ+/A GCdDu045YuqUJn8cqOLeoTKozl9HVsE= X-Google-Smtp-Source: APXvYqxJvV8KgOp5bvcoZVnP/32/3T5XdMNZ/FrHLYrZq3km/9oLG3eBK9U0JRV3jH/AON5YD/bJsA== X-Received: by 2002:adf:f101:: with SMTP id r1mr3810835wro.320.1571751132259; Tue, 22 Oct 2019 06:32:12 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 14/41] target/arm: Split arm_cpu_data_is_big_endian Date: Tue, 22 Oct 2019 14:31:07 +0100 Message-Id: <20191022133134.14487-15-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::444 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Set TBFLAG_ANY.BE_DATA in rebuild_hflags_common_32 and rebuild_hflags_a64 instead of rebuild_hflags_common, where we do not need to re-test is_a64() nor re-compute the various inputs. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-5-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/cpu.h | 49 +++++++++++++++++++++++++++------------------ target/arm/helper.c | 16 +++++++++++---- 2 files changed, 42 insertions(+), 23 deletions(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index ad79a6153bb..4d961474ce7 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -3108,33 +3108,44 @@ static inline uint64_t arm_sctlr(CPUARMState *env, = int el) } } =20 +static inline bool arm_cpu_data_is_big_endian_a32(CPUARMState *env, + bool sctlr_b) +{ +#ifdef CONFIG_USER_ONLY + /* + * In system mode, BE32 is modelled in line with the + * architecture (as word-invariant big-endianness), where loads + * and stores are done little endian but from addresses which + * are adjusted by XORing with the appropriate constant. So the + * endianness to use for the raw data access is not affected by + * SCTLR.B. + * In user mode, however, we model BE32 as byte-invariant + * big-endianness (because user-only code cannot tell the + * difference), and so we need to use a data access endianness + * that depends on SCTLR.B. + */ + if (sctlr_b) { + return true; + } +#endif + /* In 32bit endianness is determined by looking at CPSR's E bit */ + return env->uncached_cpsr & CPSR_E; +} + +static inline bool arm_cpu_data_is_big_endian_a64(int el, uint64_t sctlr) +{ + return sctlr & (el ? SCTLR_EE : SCTLR_E0E); +} =20 /* Return true if the processor is in big-endian mode. */ static inline bool arm_cpu_data_is_big_endian(CPUARMState *env) { - /* In 32bit endianness is determined by looking at CPSR's E bit */ if (!is_a64(env)) { - return -#ifdef CONFIG_USER_ONLY - /* In system mode, BE32 is modelled in line with the - * architecture (as word-invariant big-endianness), where loads - * and stores are done little endian but from addresses which - * are adjusted by XORing with the appropriate constant. So the - * endianness to use for the raw data access is not affected by - * SCTLR.B. - * In user mode, however, we model BE32 as byte-invariant - * big-endianness (because user-only code cannot tell the - * difference), and so we need to use a data access endianness - * that depends on SCTLR.B. - */ - arm_sctlr_b(env) || -#endif - ((env->uncached_cpsr & CPSR_E) ? 1 : 0); + return arm_cpu_data_is_big_endian_a32(env, arm_sctlr_b(env)); } else { int cur_el =3D arm_current_el(env); uint64_t sctlr =3D arm_sctlr(env, cur_el); - - return (sctlr & (cur_el ? SCTLR_EE : SCTLR_E0E)) !=3D 0; + return arm_cpu_data_is_big_endian_a64(cur_el, sctlr); } } =20 diff --git a/target/arm/helper.c b/target/arm/helper.c index f05d0424745..4c65476d936 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11061,9 +11061,6 @@ static uint32_t rebuild_hflags_common(CPUARMState *= env, int fp_el, flags =3D FIELD_DP32(flags, TBFLAG_ANY, MMUIDX, arm_to_core_mmu_idx(mmu_idx)); =20 - if (arm_cpu_data_is_big_endian(env)) { - flags =3D FIELD_DP32(flags, TBFLAG_ANY, BE_DATA, 1); - } if (arm_singlestep_active(env)) { flags =3D FIELD_DP32(flags, TBFLAG_ANY, SS_ACTIVE, 1); } @@ -11073,7 +11070,14 @@ static uint32_t rebuild_hflags_common(CPUARMState = *env, int fp_el, static uint32_t rebuild_hflags_common_32(CPUARMState *env, int fp_el, ARMMMUIdx mmu_idx, uint32_t flags) { - flags =3D FIELD_DP32(flags, TBFLAG_A32, SCTLR_B, arm_sctlr_b(env)); + bool sctlr_b =3D arm_sctlr_b(env); + + if (sctlr_b) { + flags =3D FIELD_DP32(flags, TBFLAG_A32, SCTLR_B, 1); + } + if (arm_cpu_data_is_big_endian_a32(env, sctlr_b)) { + flags =3D FIELD_DP32(flags, TBFLAG_ANY, BE_DATA, 1); + } flags =3D FIELD_DP32(flags, TBFLAG_A32, NS, !access_secure_reg(env)); =20 return rebuild_hflags_common(env, fp_el, mmu_idx, flags); @@ -11122,6 +11126,10 @@ static uint32_t rebuild_hflags_a64(CPUARMState *en= v, int el, int fp_el, =20 sctlr =3D arm_sctlr(env, el); =20 + if (arm_cpu_data_is_big_endian_a64(el, sctlr)) { + flags =3D FIELD_DP32(flags, TBFLAG_ANY, BE_DATA, 1); + } + if (cpu_isar_feature(aa64_pauth, env_archcpu(env))) { /* * In order to save space in flags, we record only whether --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752028; cv=none; d=zoho.com; s=zohoarc; b=bwFxg3zWE8KpNAi3eGLtZtrlliTJNjeZGRdLySbiOKdKXw5CD7pvQqu07MvlDstxn0oTtOrrAje6nc/qM/pMm3xH38QdyQBTU4MNtw7U69IaBq//kUAjZEeU8QvADOHnJR+ngKkO52w/Q18odcKbxm42jYzfHr8z0YTbPsC4cQA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752028; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Cu6oVuHK3bWpUoid4fFJqnNglUadyF8qdViMi5V1xKs=; b=BneXxUaWoKMb6Az2h1bTqu+nttFxg+d+p60i002GUetW2QvmU371x/SAXiqEnlAtM47dZs1MtEoHo2Qr9urCt/EEInw4ri1PU3+O6YpV0Ddj/c5gh3nTNC9wnwCU+Ak0fpX5OLa6K5XHUYuG1EXHOOb2DZmq0XP+xacY2KVz3dQ= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752028672983.4110205284878; Tue, 22 Oct 2019 06:47:08 -0700 (PDT) Received: from localhost ([::1]:57624 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuV9-00031y-8v for importer@patchew.org; Tue, 22 Oct 2019 09:47:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36801) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGp-0002iB-Ve for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGn-0001IB-R9 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:18 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:35172) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGm-0001HS-RP for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:17 -0400 Received: by mail-wm1-x344.google.com with SMTP id v9so267265wml.0 for ; Tue, 22 Oct 2019 06:32:16 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Cu6oVuHK3bWpUoid4fFJqnNglUadyF8qdViMi5V1xKs=; b=LVn2di/BNa2vu6y7WhBud6rPOAWCz0uS3cPic64rAfLNaiYTZO92xSBdxcL/4CDpqt Hv6yNrMC4scKLh8UX8cdCEbWzEliuuwQ1cUyOL48vO3mlUi+lHT5JsQOadQ0ZoadW8cN +FTFUISa4NuI+ldXPuoSUSwKSJA0S/tP6g9k01kNFUellTxYCAW/dXRYnHonFYjWfGOY OdoyaasLNhVLY3cjx8AS3Mwz6LotIZ0B2PWPjJnw+BQXEI/Of3mbF0Qq3R6yieo/HPia is5feOWP5jl6cOo4NxR9LCUzniJyEq2/9ZCAyh71Rk78/289IRj+fqeOJzkmrrgCShFO GBfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Cu6oVuHK3bWpUoid4fFJqnNglUadyF8qdViMi5V1xKs=; b=KbSmvHXWhoC5yHMeMzTOC8b4EbbGLJnRSxFql460BeAaC5HOVSLDvTQ+T1yLkI1Dcr AL+wurpU1R0o0Al5kYDse9Fu9BCLGCYHdwDyUdtjPJzruxS0DD2SZVZ9DhbbeBDcDv1N npSe95ijpi1nipzO+q0gERorXXzsFdrkJvXmitDHxVcF/xugYJ9FHelzcaU/M2ftRm8A bmOHI2GzIrSscvKvGZfiwaKcuEYjnRHJt4xt6nQAvsmTuIRWqcol4FcfPUQT08bwRDCM I0mcUDkZJOs0vd5pTQ83MfSEAziJNTelQBOkopDwnyCKDU0+lB5u2/h9IK465vV8vcKK Fz/g== X-Gm-Message-State: APjAAAXPfkbAJi/JUWOlXVqNky2D9IbbC4voylJmhqcTvGypNbOuLIIf eqnjmBZJmQgGHefFV+nyoEFHtLGlbgE= X-Google-Smtp-Source: APXvYqyKUmYClStP9dI4I5TJWsHxjD8p2hK/GdOdRM2aJGMcP9SFjtofrjbXYilOicfWZUHO862qdA== X-Received: by 2002:a7b:c631:: with SMTP id p17mr3130570wmk.5.1571751135352; Tue, 22 Oct 2019 06:32:15 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 15/41] target/arm: Split out rebuild_hflags_m32 Date: Tue, 22 Oct 2019 14:31:08 +0100 Message-Id: <20191022133134.14487-16-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Create a function to compute the values of the TBFLAG_A32 bits that will be cached, and are used by M-profile. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-6-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 45 ++++++++++++++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 4c65476d936..d4303420daf 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11083,6 +11083,29 @@ static uint32_t rebuild_hflags_common_32(CPUARMSta= te *env, int fp_el, return rebuild_hflags_common(env, fp_el, mmu_idx, flags); } =20 +static uint32_t rebuild_hflags_m32(CPUARMState *env, int fp_el, + ARMMMUIdx mmu_idx) +{ + uint32_t flags =3D 0; + + if (arm_v7m_is_handler_mode(env)) { + flags =3D FIELD_DP32(flags, TBFLAG_A32, HANDLER, 1); + } + + /* + * v8M always applies stack limit checks unless CCR.STKOFHFNMIGN + * is suppressing them because the requested execution priority + * is less than 0. + */ + if (arm_feature(env, ARM_FEATURE_V8) && + !((mmu_idx & ARM_MMU_IDX_M_NEGPRI) && + (env->v7m.ccr[env->v7m.secure] & R_V7M_CCR_STKOFHFNMIGN_MASK))) { + flags =3D FIELD_DP32(flags, TBFLAG_A32, STACKCHECK, 1); + } + + return rebuild_hflags_common_32(env, fp_el, mmu_idx, flags); +} + static uint32_t rebuild_hflags_a64(CPUARMState *env, int el, int fp_el, ARMMMUIdx mmu_idx) { @@ -11168,7 +11191,13 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target= _ulong *pc, } } else { *pc =3D env->regs[15]; - flags =3D rebuild_hflags_common_32(env, fp_el, mmu_idx, 0); + + if (arm_feature(env, ARM_FEATURE_M)) { + flags =3D rebuild_hflags_m32(env, fp_el, mmu_idx); + } else { + flags =3D rebuild_hflags_common_32(env, fp_el, mmu_idx, 0); + } + flags =3D FIELD_DP32(flags, TBFLAG_A32, THUMB, env->thumb); flags =3D FIELD_DP32(flags, TBFLAG_A32, VECLEN, env->vfp.vec_len); flags =3D FIELD_DP32(flags, TBFLAG_A32, VECSTRIDE, env->vfp.vec_st= ride); @@ -11204,20 +11233,6 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target= _ulong *pc, } } =20 - if (arm_v7m_is_handler_mode(env)) { - flags =3D FIELD_DP32(flags, TBFLAG_A32, HANDLER, 1); - } - - /* v8M always applies stack limit checks unless CCR.STKOFHFNMIGN is - * suppressing them because the requested execution priority is less t= han 0. - */ - if (arm_feature(env, ARM_FEATURE_V8) && - arm_feature(env, ARM_FEATURE_M) && - !((mmu_idx & ARM_MMU_IDX_M_NEGPRI) && - (env->v7m.ccr[env->v7m.secure] & R_V7M_CCR_STKOFHFNMIGN_MASK))) { - flags =3D FIELD_DP32(flags, TBFLAG_A32, STACKCHECK, 1); - } - if (arm_feature(env, ARM_FEATURE_M_SECURITY) && FIELD_EX32(env->v7m.fpccr[M_REG_S], V7M_FPCCR, S) !=3D env->v7m.se= cure) { flags =3D FIELD_DP32(flags, TBFLAG_A32, FPCCR_S_WRONG, 1); --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751581; cv=none; d=zoho.com; s=zohoarc; b=QgDevFjUoM/XHNFJTykNoLa5uNIggteebzNFHuzZrGJOZqJbDYglekN2vAW0pVsoLcYC+NSr88vnOc2yFbSXLOu9kHmnMIlbyHWaUhALhenJFG9VIaydLwundbjVnleOJ0xcOtJF8eOJBQzSZ+GgcwSLYxNX93HJOePoeSCmqkA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751581; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=uSJ06sfOg2LD5tGvl0x+KI5+jg4UPMjf+ZwawjasdT0=; b=cGJkpr7GcS4GqjWQk2fHagfRyeAz8L3B6sQNu0JDaqQRCeB9GrF1Yj1l3MVfbvQ/ZVABeqe3gAGZdg28BGxPT2BU9/abL16BUvlqiwBo+dBQZEBdIrGrRobbS5BpqRcJH9N9xicGuTvGKF6aOMg6XoDXltMeR7U0OYDNC5sJ9iI= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571751581688669.4327729786112; Tue, 22 Oct 2019 06:39:41 -0700 (PDT) Received: from localhost ([::1]:57496 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuNv-0003d7-BF for importer@patchew.org; Tue, 22 Oct 2019 09:39:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36799) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGp-0002i2-Pg for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGo-0001IS-NO for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:19 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:39129) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGo-0001II-HB for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:18 -0400 Received: by mail-wm1-x344.google.com with SMTP id r141so6598583wme.4 for ; Tue, 22 Oct 2019 06:32:18 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=uSJ06sfOg2LD5tGvl0x+KI5+jg4UPMjf+ZwawjasdT0=; b=sG1Tj2K3Z0U0smDrPql2aVvvhimWKskYnLlNYMzizlizCtY5URkLZCrGdKGN0vMdDw a9riujeJmnuMGmYvKDZTvtIUqvia7QBe0ji9HC6hB2ursIaihMaju8vMmM6Ntiq6IJnu wLPB6fq5Aw8gEGFRuyV4KvhbSqYmvaEN9zI8CSm2OOS3HoYFy1rV5vQK64PyaFG5EoNm VlIqZZGG/+DxBEJQu+AMTXvwhbm/js6zeK2k+d3DKiND675ctlUrUMbFdKoBbnnXfddm +oR21mwjMjYVWYrfvKe3HuNPWepqMuuEL3ZIPAh4qJPqnyrjQo9IEvJ2Q1WSYuxluQkH 4l7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=uSJ06sfOg2LD5tGvl0x+KI5+jg4UPMjf+ZwawjasdT0=; b=YwLW+hxXWKdCTUG8tOOXF3sYJzApRQ/jOWKKBzrYB2kvCZVSC5taI3fonM1z2BgWyQ mhKf+5maqMCpVs58G7slwzFJpeiT7sydh59vZpFQGzhDeXnJuCFFynOjRGXhaxWw6Cv1 AoLecCZongSjiEeD0HyIUFJ+dt3/6KDrvDlO/Q3pW1qriQhil5lqQVDBb0r8lrjJY6ri ZNATU2oz1f47u8Q/1CDPsV5HvHPp6psyoCzT42Hd9azPf6PQw0gBLOy77O7FGg2gNHwO bVNjj8ATpQNQICaDSwix9yHvNo14wH03E91tOf1y6xmgefyxAk/W+8Lc73G/6XYlaTpJ 8oLQ== X-Gm-Message-State: APjAAAVXzNbuiDhsttNfEg8MicKQcoJ3zUAh1mUedSaBnrLDNgxCoduJ +I9lNlBaTntOkb+wFNMmZDB6A61T72I= X-Google-Smtp-Source: APXvYqwhvHWp9MlmezxCf2sFLQe0i2qVzVoREBp0A1oJJY+HdIZWkDCHuH+jLilu3wV7Xc39cyBS3A== X-Received: by 2002:a1c:a9cb:: with SMTP id s194mr3308396wme.92.1571751137017; Tue, 22 Oct 2019 06:32:17 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 16/41] target/arm: Reduce tests vs M-profile in cpu_get_tb_cpu_state Date: Tue, 22 Oct 2019 14:31:09 +0100 Message-Id: <20191022133134.14487-17-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Hoist the computation of some TBFLAG_A32 bits that only apply to M-profile under a single test for ARM_FEATURE_M. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-7-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 49 +++++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index d4303420daf..296a4b2232c 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11194,6 +11194,29 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target= _ulong *pc, =20 if (arm_feature(env, ARM_FEATURE_M)) { flags =3D rebuild_hflags_m32(env, fp_el, mmu_idx); + + if (arm_feature(env, ARM_FEATURE_M_SECURITY) && + FIELD_EX32(env->v7m.fpccr[M_REG_S], V7M_FPCCR, S) + !=3D env->v7m.secure) { + flags =3D FIELD_DP32(flags, TBFLAG_A32, FPCCR_S_WRONG, 1); + } + + if ((env->v7m.fpccr[env->v7m.secure] & R_V7M_FPCCR_ASPEN_MASK)= && + (!(env->v7m.control[M_REG_S] & R_V7M_CONTROL_FPCA_MASK) || + (env->v7m.secure && + !(env->v7m.control[M_REG_S] & R_V7M_CONTROL_SFPA_MASK)))= ) { + /* + * ASPEN is set, but FPCA/SFPA indicate that there is no + * active FP context; we must create a new FP context befo= re + * executing any FP insn. + */ + flags =3D FIELD_DP32(flags, TBFLAG_A32, NEW_FP_CTXT_NEEDED= , 1); + } + + bool is_secure =3D env->v7m.fpccr[M_REG_S] & R_V7M_FPCCR_S_MAS= K; + if (env->v7m.fpccr[is_secure] & R_V7M_FPCCR_LSPACT_MASK) { + flags =3D FIELD_DP32(flags, TBFLAG_A32, LSPACT, 1); + } } else { flags =3D rebuild_hflags_common_32(env, fp_el, mmu_idx, 0); } @@ -11233,32 +11256,6 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target= _ulong *pc, } } =20 - if (arm_feature(env, ARM_FEATURE_M_SECURITY) && - FIELD_EX32(env->v7m.fpccr[M_REG_S], V7M_FPCCR, S) !=3D env->v7m.se= cure) { - flags =3D FIELD_DP32(flags, TBFLAG_A32, FPCCR_S_WRONG, 1); - } - - if (arm_feature(env, ARM_FEATURE_M) && - (env->v7m.fpccr[env->v7m.secure] & R_V7M_FPCCR_ASPEN_MASK) && - (!(env->v7m.control[M_REG_S] & R_V7M_CONTROL_FPCA_MASK) || - (env->v7m.secure && - !(env->v7m.control[M_REG_S] & R_V7M_CONTROL_SFPA_MASK)))) { - /* - * ASPEN is set, but FPCA/SFPA indicate that there is no active - * FP context; we must create a new FP context before executing - * any FP insn. - */ - flags =3D FIELD_DP32(flags, TBFLAG_A32, NEW_FP_CTXT_NEEDED, 1); - } - - if (arm_feature(env, ARM_FEATURE_M)) { - bool is_secure =3D env->v7m.fpccr[M_REG_S] & R_V7M_FPCCR_S_MASK; - - if (env->v7m.fpccr[is_secure] & R_V7M_FPCCR_LSPACT_MASK) { - flags =3D FIELD_DP32(flags, TBFLAG_A32, LSPACT, 1); - } - } - if (!arm_feature(env, ARM_FEATURE_M)) { int target_el =3D arm_debug_target_el(env); =20 --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571751813; cv=none; d=zoho.com; s=zohoarc; b=Z4w6FPKL3Iez4plo2IIVAU3a32FWrFcOR5HBxYAp7lxK94s29MmaIhDYv5ezof7hoOg+cSQHbjwMr8zyPboaL+uQ3sIBR599UXi4mixvHjkP9pvfI817lnHQcQzEvaeCY93L5u/4MgyiisxfJpFkoEyEsWNvgW1FtVD+um4RyHY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571751813; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=47L8tC+k0dqNep0IiM8o7WB4AEO/g2+8C4jrYkr9oDs=; b=H+qjGyzVD9T+EeSLY1wyv0+XgQRdwO9obnKzaCCN2307/vCyCn9+1Xo6atfK9np+s9dpRowPLHAe0mtklXcf3ajJ9rYT0Ncr2oVYQdY9ZF0J8cgMThvO8rmrGXadIgZ7ECeLgRjkX458Dg2BmnCW3NPh3gY394uI+ucWA8V552M= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571751813103422.863053067038; Tue, 22 Oct 2019 06:43:33 -0700 (PDT) Received: from localhost ([::1]:57562 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuRe-0007Qu-3U for importer@patchew.org; Tue, 22 Oct 2019 09:43:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36823) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGr-0002kn-QE for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGq-0001J6-N1 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:21 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:46974) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGq-0001Ie-H1 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:20 -0400 Received: by mail-wr1-x432.google.com with SMTP id n15so7300120wrw.13 for ; Tue, 22 Oct 2019 06:32:20 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=47L8tC+k0dqNep0IiM8o7WB4AEO/g2+8C4jrYkr9oDs=; b=OEgkaEBvo0adjaDJKsU7r+f1ZktlbQLZuofPeddEQ8wF2cUMyeHf0oJcWcq0knPApY EOb2m2b7zS/fw+wW3XeanU2aGDOejVkpuBfwlXe+pr5dUkj1olJ7SIckemVVLGpu9NnU Lr+MyP2uKWsvrWUA/UIzk5cLd31ClBMBcQ7GRnMl3hXwEpVlua2QXYcb0bLfk60ZFIi2 FTgKc/zlYeOiMm1B8thsioKyIu16BiQeI8/7S6Wmon7y5I/j3X/JRSXJ7w685C2D9AxW NmyUIsO9HNjc1778+amjUE4IYzxB23n9pA5KVnH+6GSIG83o6yGGYvt2MGkfCVnm8p0Q kI0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=47L8tC+k0dqNep0IiM8o7WB4AEO/g2+8C4jrYkr9oDs=; b=QhoYGIEhORlZ0LfuXcksH1MbanFkqf8pWAhQwde75hWyeps8/bSaY7Cohk8DmenGJU GWF4a/sqcrFn4ABSRclxdHyJMADGZqf3pHRBzroikavpmXf+n3//+UCXRToaEzog+J/l p5u8AV8Xj6/ZrTbTcw/dtIFOZqNfSsCSB83Sph6DTWEWkMhU/CkD49LUBnWkqhz2z21h y1xZvLpWq2baebLRfAKqWRDb9QwNgfh7bkltXoIoeBAYCbHCmHvNHHFJWDx9rqMtizPD E58qHj2KeTzvKa7YadrQgtEThgJ0a63ODxZfFxKxVhKqdyCifh/EZlEmq0ekQcqlAmSl uDhA== X-Gm-Message-State: APjAAAXtrgd8S3klAHYihCshBzBUzyhT3XaVzWDuDFw/NrwACRAxQA3w 6ZXrSatEg/bmWnq/jRH/LCrk6u4elJo= X-Google-Smtp-Source: APXvYqwTELJQ4O1qcYFniYpz4iOSddzNZqsyTotypgO0DLnmeubnCPILSjcUOe2xbUn2r7Kq80fPLw== X-Received: by 2002:adf:fdd0:: with SMTP id i16mr3742789wrs.227.1571751139068; Tue, 22 Oct 2019 06:32:19 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 17/41] target/arm: Split out rebuild_hflags_a32 Date: Tue, 22 Oct 2019 14:31:10 +0100 Message-Id: <20191022133134.14487-18-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::432 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Currently a trivial wrapper for rebuild_hflags_common_32. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-8-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 296a4b2232c..d1cd54cc931 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11106,6 +11106,12 @@ static uint32_t rebuild_hflags_m32(CPUARMState *en= v, int fp_el, return rebuild_hflags_common_32(env, fp_el, mmu_idx, flags); } =20 +static uint32_t rebuild_hflags_a32(CPUARMState *env, int fp_el, + ARMMMUIdx mmu_idx) +{ + return rebuild_hflags_common_32(env, fp_el, mmu_idx, 0); +} + static uint32_t rebuild_hflags_a64(CPUARMState *env, int el, int fp_el, ARMMMUIdx mmu_idx) { @@ -11218,7 +11224,7 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target_= ulong *pc, flags =3D FIELD_DP32(flags, TBFLAG_A32, LSPACT, 1); } } else { - flags =3D rebuild_hflags_common_32(env, fp_el, mmu_idx, 0); + flags =3D rebuild_hflags_a32(env, fp_el, mmu_idx); } =20 flags =3D FIELD_DP32(flags, TBFLAG_A32, THUMB, env->thumb); --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752178; cv=none; d=zoho.com; s=zohoarc; b=hBPb1pF3kDFj8m1DDxsSGEszDQW5uPAmHsVwX+rhmEO5Q+sJBQfbayn7vwMAM1zBm1g3+z3vNT+9kXBrQecF8ly+dvLe9xmcuN9qhifc8aUPXbYK2XClhiZ2A6a28oQvu3dOtN6xlQ0BKPdRq3UVrw/IXPVqAjEWR2Ym/o0armE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752178; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BWBhqaHT6GxtdOFufe6tBUWH35ddd8XEs+xAm5zDJYo=; b=UV1JDwenM2PD7mYZn985/2hjPN7yL51biyS7eCksAfnFXyXr9oG+Jk219k7BMy4p5NkVkJSmNg5XCgarFEVHxaOsSkHO5kB5b1vOS1TPK2pVEGltfUP025P59UXuTB7+iUucV5jpQLYnTVoZsQRbEcN16+5Jui6MmRi/ZOc6oHs= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752178442994.2735120228327; Tue, 22 Oct 2019 06:49:38 -0700 (PDT) Received: from localhost ([::1]:57696 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuXW-0005ao-GN for importer@patchew.org; Tue, 22 Oct 2019 09:49:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36850) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGt-0002nI-UP for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGs-0001LE-Mb for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:23 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:41525) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGs-0001KB-GO for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:22 -0400 Received: by mail-wr1-x442.google.com with SMTP id p4so18098506wrm.8 for ; Tue, 22 Oct 2019 06:32:22 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=BWBhqaHT6GxtdOFufe6tBUWH35ddd8XEs+xAm5zDJYo=; b=ChjA06Mjs77Lz1pNn0SauLjs1aNQ4JlOWfXdPWOxYMxPaC3f1hG4QBSQwiSv89s6Ns PmA9rhairAiLrO6KATD/8MwYWwDOvowWnIOuusVfzEDMar3mHOP9aEhkFQb5kKASpGhR qXYrblqelxnL5ecg+MiojmmoOpoYulafafUOqM92/X5K2HXoOH9odlkcsvYYiV5SIWeA kz7RsP0PqMUSyUiZIOP5pXJU5yrmWGZFZY9yyYOKWRjR715h9kPlKz4SujpjRd0nTG4/ iSPVLwRB4O0yruGRz01qDzeY1yQtnpDTXCnN5SKxN1qrWKaLPEMzszRIIMDyqc5yNYAF VPoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BWBhqaHT6GxtdOFufe6tBUWH35ddd8XEs+xAm5zDJYo=; b=khthkiMPS+hIQrgazLjeHCvY3eueO6kHzqGDTL1DQ8uBOMTkBdC2ezg7k3kgr+hzfs J+THjL0bmVd9Ifs7si539i5A/9Ti9R4Gg0JKmjozJ9z64AKRenOVbI+P7ooQZdn8Y3Dm Zahpjb5z03jKSeHbBr+nlKQ0cadgk6Fyqvgo3A9xCSrxlCDn4qMd2vGy14A67ETdirRj 4MbnH5ZJ2B9oBb3oX+ktlbrshEzqyWum1x60ryvSm7KBd70GrqO+iUTrHDy3ObFkaOkN ZgnQzrl8uijURkK4YZxdcmcW5Kes2IciDQgv17n31DVEwfoPQIwqkVDLger9yaqEzUMb 0X8w== X-Gm-Message-State: APjAAAUayxIDPIC9MeIQefS/JlHmLPjpcArjqpiKijhlkc9H6xkK1e84 azq4jn5Tnj7iO2wGtwn4gEkFIpF3yG8= X-Google-Smtp-Source: APXvYqzkREi5mBGFv1E8nESnaqAyu8EIpiN2Qo4/RK6TRUJOhMcuCx+F3f0xL1knMlklyenrX2fK6A== X-Received: by 2002:adf:e9c7:: with SMTP id l7mr3573891wrn.57.1571751141024; Tue, 22 Oct 2019 06:32:21 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 18/41] target/arm: Split out rebuild_hflags_aprofile Date: Tue, 22 Oct 2019 14:31:11 +0100 Message-Id: <20191022133134.14487-19-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Create a function to compute the values of the TBFLAG_ANY bits that will be cached, and are used by A-profile. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-9-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index d1cd54cc931..ddd21edfcf1 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11106,18 +11106,28 @@ static uint32_t rebuild_hflags_m32(CPUARMState *e= nv, int fp_el, return rebuild_hflags_common_32(env, fp_el, mmu_idx, flags); } =20 +static uint32_t rebuild_hflags_aprofile(CPUARMState *env) +{ + int flags =3D 0; + + flags =3D FIELD_DP32(flags, TBFLAG_ANY, DEBUG_TARGET_EL, + arm_debug_target_el(env)); + return flags; +} + static uint32_t rebuild_hflags_a32(CPUARMState *env, int fp_el, ARMMMUIdx mmu_idx) { - return rebuild_hflags_common_32(env, fp_el, mmu_idx, 0); + uint32_t flags =3D rebuild_hflags_aprofile(env); + return rebuild_hflags_common_32(env, fp_el, mmu_idx, flags); } =20 static uint32_t rebuild_hflags_a64(CPUARMState *env, int el, int fp_el, ARMMMUIdx mmu_idx) { + uint32_t flags =3D rebuild_hflags_aprofile(env); ARMMMUIdx stage1 =3D stage_1_mmu_idx(mmu_idx); ARMVAParameters p0 =3D aa64_va_parameters_both(env, 0, stage1); - uint32_t flags =3D 0; uint64_t sctlr; int tbii, tbid; =20 @@ -11262,12 +11272,6 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target= _ulong *pc, } } =20 - if (!arm_feature(env, ARM_FEATURE_M)) { - int target_el =3D arm_debug_target_el(env); - - flags =3D FIELD_DP32(flags, TBFLAG_ANY, DEBUG_TARGET_EL, target_el= ); - } - *pflags =3D flags; *cs_base =3D 0; } --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752393; cv=none; d=zoho.com; s=zohoarc; b=Jyc8018tGVQwIW1FaAg8mOBJZv2Rw2CMCwxYgEHqY+5qRkgk2HZjzxkSxhP15rPT6kDKatX5gogssIlJkyaxsXfTXXRKoyRRCsxhBaDK1IAAd4UvtuVBUIFhfz+4GTgl7M65ic+1bDxPNDXaQ/tLbCqYOT/06rViA2cMu2Y5ssw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752393; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=QWlvz9xoCtL9FPUpzDpAooVc9XHZ3LGO0EPWiVhUPtw=; b=DDzZOE3+2Kthx0jBV6WdODuzBmIv1qcMyHfwiEswSdg8H32bqjLmWpePtFqZo9XFsTO6MwpTOG5GQrEDFtBAJ02RUYpCdjtBwz7S3ArkzKoATFwTQY1SdHz8Fyf3drU9xKWYvFWV9cHXw4XGSkvMnW+l8Xkp/IN3p3asZMyON6Q= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752393463604.6711479430094; Tue, 22 Oct 2019 06:53:13 -0700 (PDT) Received: from localhost ([::1]:57770 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMub1-00019i-Se for importer@patchew.org; Tue, 22 Oct 2019 09:53:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36865) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGw-0002qN-Kt for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGv-0001MJ-Ee for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:26 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:35171) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGv-0001M6-8b for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:25 -0400 Received: by mail-wm1-x342.google.com with SMTP id v9so267854wml.0 for ; Tue, 22 Oct 2019 06:32:25 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=QWlvz9xoCtL9FPUpzDpAooVc9XHZ3LGO0EPWiVhUPtw=; b=l4uahlPp3p+6sqjOpsjWFo/nUVlBGKvgkXX7b0oZR3CqIvIKYkMmKsIbkvFIzaXOBe cv+hMiQU92mvARh+vjCOa1a8lW/qpGU//wz2FIp3sJLJoW6isWLIV7ke2Uq23vuKetc9 4fBUEWS8SG8SbCif4UfuTs5QbccB9hROSuAZ9OO1JWtoZJ00O9e3SFuPh8SZxWiXdc8Y KuXoo6mXDcka/CpvBy5FgMUI4c4FGggryVo3Ctn7ASEEupHKLAl9GC7B5EqTxqEzXyU8 51t9JVhx29Mw3DntCfMRFIggA3bss9CvdM6zlKg0UUdpUjA9mqmKvzu00dCxOl2vWekK DvfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QWlvz9xoCtL9FPUpzDpAooVc9XHZ3LGO0EPWiVhUPtw=; b=qBlf6ZdiIac4mGE0P4Y4JzZvZPhKdKF1TxpX6dNMZe7BAwaFgIuIBo8roYlp1emaRr eHI9oKABKFHshmGnIDekRCuGkbxAktqyMlZ9hhJSMOF6SE9SvW7VqUpNnQzK8M53EkOM ZmQjQMMyyCunZiUO6zRwst+kH2KmeBHnBRf+BWjYW2VraKKI/Mo4u4Iqd5PNfqBbn640 vaEmv2FowhSXNCmAGEAS+f8+/zYmOvnvwIfjsTVqHkqv81Y87moEGtsZVZd3ZfG9VNEz D7Jf8VdLItB0pdKNlWIbtnfLzOeMLH1KYUy+wUTJFO/N2RSfQpJNbEiSbH3Hfn75+HGV +R9A== X-Gm-Message-State: APjAAAVFiRnwQSnk5UZ3hUNA0ubnh1gdn6vkcnBOrnTpgZ5ShyLXCjMG vfh0IalxWz/rO3ZuMhojnSPrSgQHc0w= X-Google-Smtp-Source: APXvYqw00BvZvPvTYZ/37N5PRWnTWWVeNduXOJe/cBw+9PwPbHPEMkZrDk7wc4hcdHOsgk+nrqSvfg== X-Received: by 2002:a05:600c:28d:: with SMTP id 13mr3288572wmk.100.1571751143281; Tue, 22 Oct 2019 06:32:23 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 19/41] target/arm: Hoist XSCALE_CPAR, VECLEN, VECSTRIDE in cpu_get_tb_cpu_state Date: Tue, 22 Oct 2019 14:31:12 +0100 Message-Id: <20191022133134.14487-20-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson We do not need to compute any of these values for M-profile. Further, XSCALE_CPAR overlaps VECSTRIDE so obviously the two sets must be mutually exclusive. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-10-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index ddd21edfcf1..e2a62cf19a0 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11235,21 +11235,28 @@ void cpu_get_tb_cpu_state(CPUARMState *env, targe= t_ulong *pc, } } else { flags =3D rebuild_hflags_a32(env, fp_el, mmu_idx); + + /* + * Note that XSCALE_CPAR shares bits with VECSTRIDE. + * Note that VECLEN+VECSTRIDE are RES0 for M-profile. + */ + if (arm_feature(env, ARM_FEATURE_XSCALE)) { + flags =3D FIELD_DP32(flags, TBFLAG_A32, + XSCALE_CPAR, env->cp15.c15_cpar); + } else { + flags =3D FIELD_DP32(flags, TBFLAG_A32, VECLEN, + env->vfp.vec_len); + flags =3D FIELD_DP32(flags, TBFLAG_A32, VECSTRIDE, + env->vfp.vec_stride); + } } =20 flags =3D FIELD_DP32(flags, TBFLAG_A32, THUMB, env->thumb); - flags =3D FIELD_DP32(flags, TBFLAG_A32, VECLEN, env->vfp.vec_len); - flags =3D FIELD_DP32(flags, TBFLAG_A32, VECSTRIDE, env->vfp.vec_st= ride); flags =3D FIELD_DP32(flags, TBFLAG_A32, CONDEXEC, env->condexec_bi= ts); if (env->vfp.xregs[ARM_VFP_FPEXC] & (1 << 30) || arm_el_is_aa64(env, 1) || arm_feature(env, ARM_FEATURE_M)) { flags =3D FIELD_DP32(flags, TBFLAG_A32, VFPEN, 1); } - /* Note that XSCALE_CPAR shares bits with VECSTRIDE */ - if (arm_feature(env, ARM_FEATURE_XSCALE)) { - flags =3D FIELD_DP32(flags, TBFLAG_A32, - XSCALE_CPAR, env->cp15.c15_cpar); - } } =20 /* The SS_ACTIVE and PSTATE_SS bits correspond to the state machine --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752561; cv=none; d=zoho.com; s=zohoarc; b=RsCU70LEmoh+06O/9gyIuYHKr2v8Ro6jEIgX7ZzSvYDu5dnwyQ+beYW/mC63+zTO5KSA8qKrRodb/5vjTB3OjRCrfNkmKwtbuCDBQqTzQddQ/ULJ6kUKg9nm+l3TJuczgbiY+TAqOuu/VRcWVxje7xUkIZ3rlo4NpiaUw5rfJgk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752561; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=c3SRR/5ATUh31uzJHoI/RZYESh8V+bDrSMsvPoCPz8M=; b=RS4YCtVkqpvA8R5TTpRijUyoBWVxyGs0IXMG3CAewx5RdRgM0NTa8XHHWJzQL7YAXJEJ46g+AXakDv7duNnAZfvyDNIFicTHv0SeXEgq1W+lbcn6/olFXbHpvSfSG5UKCDDu6lZxHMiXsN/K3/yHq4WhaRH01I11d6xLSp06WpE= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752561352302.8798263778689; Tue, 22 Oct 2019 06:56:01 -0700 (PDT) Received: from localhost ([::1]:57834 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMudh-000552-3q for importer@patchew.org; Tue, 22 Oct 2019 09:55:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36886) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuGz-0002u5-Fu for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuGy-0001Mx-6x for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:29 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:38588) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuGy-0001Mp-1J for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:28 -0400 Received: by mail-wm1-x344.google.com with SMTP id 3so16198538wmi.3 for ; Tue, 22 Oct 2019 06:32:27 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=c3SRR/5ATUh31uzJHoI/RZYESh8V+bDrSMsvPoCPz8M=; b=ZkQXPcghisdGtbOCRm8ZF4qlfwU+4gC+R+NKDq23QQcF7w0ujogPXGYyKTylCN+WrJ j6MoGxEmzS3QoeJD4Oid8t+2WwuKHupMv3VZP91qK8MuYPsh2xp7FvLRneYTkDkxDL5z keC54L1MHPXWf2aC4wgjc1MtpT5UO4BG27E3MbqSe33ISigZQVFPLppq9vtcQvnsystF NyN+UqchjsbOl9yBlbW4XWbB+fzZ6fXI9eDjeauq0bQ59R9WLc3DT2Ak04GqXkhm2C1e mI+1fxxelG3x2nGlMBlI3aFr22nrWbwZtsIjTOn5Qx+0UpzWU9+aRzHsQRSeBHMMYkrj ugGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=c3SRR/5ATUh31uzJHoI/RZYESh8V+bDrSMsvPoCPz8M=; b=SXvdMcgWzrRTJ+4MhQSsJP+9JIjaTGBkPi4vUqNh5Pf/bmkoe6XBxsMVMaxIA4oN7D tDZMR5pifkANTzWh041OGHKlaJsakwxXLHuhEK9ddoT0ahJfzdIW900GdtqdRO/xrOR+ rtGzSXGEKFzftKu5jwwAzvycO5q6xoLh/fCLgtBHmmOp2OOB/O4DDNPIg+5UEiXjQg1W fEqtvZnQ3gmMewairFCnTGX2n51zyqw+u9tywLyAqxls6VigiRsSqqjZdeYyn+vcQRgy Fti+hcOVorOPAks71tiTY9E2V7sa0BhHl0mUkUclIUmrMybcOidzqeMNbnd2LPx/viXX r63w== X-Gm-Message-State: APjAAAX5Ubt4ISss2cy2VN1RFFBVUJofGHENvpxD23ad07ZcuwmAzsnq Y6pte5BvGNcP8akxDdwNvqQmlQ5AWos= X-Google-Smtp-Source: APXvYqwP/t1Zi+KOQ0BhzBMwkRj/zdO79eF54pv57KIbbI+Z+zGsPvxQLx/2iD0PDNvJZ079HfYM3Q== X-Received: by 2002:a7b:c186:: with SMTP id y6mr3249584wmi.67.1571751146334; Tue, 22 Oct 2019 06:32:26 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 20/41] target/arm: Simplify set of PSTATE_SS in cpu_get_tb_cpu_state Date: Tue, 22 Oct 2019 14:31:13 +0100 Message-Id: <20191022133134.14487-21-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Hoist the variable load for PSTATE into the existing test vs is_a64. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-11-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index e2a62cf19a0..398e5f5d6df 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11197,7 +11197,7 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target_= ulong *pc, ARMMMUIdx mmu_idx =3D arm_mmu_idx(env); int current_el =3D arm_current_el(env); int fp_el =3D fp_exception_el(env, current_el); - uint32_t flags; + uint32_t flags, pstate_for_ss; =20 if (is_a64(env)) { *pc =3D env->pc; @@ -11205,6 +11205,7 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target_= ulong *pc, if (cpu_isar_feature(aa64_bti, env_archcpu(env))) { flags =3D FIELD_DP32(flags, TBFLAG_A64, BTYPE, env->btype); } + pstate_for_ss =3D env->pstate; } else { *pc =3D env->regs[15]; =20 @@ -11257,9 +11258,11 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target= _ulong *pc, || arm_el_is_aa64(env, 1) || arm_feature(env, ARM_FEATURE_M)) { flags =3D FIELD_DP32(flags, TBFLAG_A32, VFPEN, 1); } + pstate_for_ss =3D env->uncached_cpsr; } =20 - /* The SS_ACTIVE and PSTATE_SS bits correspond to the state machine + /* + * The SS_ACTIVE and PSTATE_SS bits correspond to the state machine * states defined in the ARM ARM for software singlestep: * SS_ACTIVE PSTATE.SS State * 0 x Inactive (the TB flag for SS is always 0) @@ -11267,16 +11270,9 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target= _ulong *pc, * 1 1 Active-not-pending * SS_ACTIVE is set in hflags; PSTATE_SS is computed every TB. */ - if (FIELD_EX32(flags, TBFLAG_ANY, SS_ACTIVE)) { - if (is_a64(env)) { - if (env->pstate & PSTATE_SS) { - flags =3D FIELD_DP32(flags, TBFLAG_ANY, PSTATE_SS, 1); - } - } else { - if (env->uncached_cpsr & PSTATE_SS) { - flags =3D FIELD_DP32(flags, TBFLAG_ANY, PSTATE_SS, 1); - } - } + if (FIELD_EX32(flags, TBFLAG_ANY, SS_ACTIVE) && + (pstate_for_ss & PSTATE_SS)) { + flags =3D FIELD_DP32(flags, TBFLAG_ANY, PSTATE_SS, 1); } =20 *pflags =3D flags; --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752369; cv=none; d=zoho.com; s=zohoarc; b=F0hObNDY6V4mEMURoHvsHM+cgxwadPdcJLjcm+0I4w+95l3ZljdRm1MW7yFkqHk5R0KwYSBQpHiM5Y+JIBVxZojCTsnfIz9C3khNmKYCvEuxuDfprYS0il459g4P95TPyDdddcJ4MuOcdf/lj3JBHSw2MDCsMVuI7CGafYCbekE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752369; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=wEiv9jObGn3UqQMFxdsZgzb1ZhvxcdW3kYhCEsFF/+g=; b=ikfJPJqiJyzqwP4yCNLn0q6kAUhMVFlfdBdroxCXLMLoFEn1LGA9kWS3051IIktcTQ7FDE8RTFNuAysPdz20TCEybO6hGrlLJ6LsbWAnZZP1w2WwYXpY14fRA1ADxVjeXawTZW7auSQhV8JXOVNbnQkq3Pv54of8EUFQx99lNtc= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752369165951.8683370073154; Tue, 22 Oct 2019 06:52:49 -0700 (PDT) Received: from localhost ([::1]:57752 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuad-0000Sx-Gu for importer@patchew.org; Tue, 22 Oct 2019 09:52:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36908) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuH1-0002yo-GS for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuH0-0001Nh-9K for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:31 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:45122) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuH0-0001NM-3C for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:30 -0400 Received: by mail-wr1-x442.google.com with SMTP id q13so13116658wrs.12 for ; Tue, 22 Oct 2019 06:32:30 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=wEiv9jObGn3UqQMFxdsZgzb1ZhvxcdW3kYhCEsFF/+g=; b=zxyfLAh0F/vyKE4nJlgYlzrJ9bVkdFDaBwX9hlZny/E0aSN8EYhZVGYjLIohZs6FP5 bdSwdo3UlUomZG2ryF8nsJ0jaIIyAs6oR83rlCpmvd9/7boPz2GkigSZ9IHaQHXMWy9Z 8eOjQ7ts+/+YlwDnfD46LTzmLCyKbcPuWhYpXuWh8ScsNuioNCprm0yShlY97Jbhtjv2 ChDntAwsNeTigXEdLnssO+la/22NmKovaNSCXaPHLerJoZv450u2YX5MGs58Juc6Jk+h St0uzEwUq6vSa0RdXm4Qvm0r5QgahW3XDpxmbTS1IZadKimCsBxPAySj/d9l85YMGd2Z nvQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wEiv9jObGn3UqQMFxdsZgzb1ZhvxcdW3kYhCEsFF/+g=; b=snU8fIrt8QLJOiyAdjZXhSSzameCLr/qw3EekTMJ81DqxmbTAbWjwN1+ZNvPOqZZfo wskBGAy0VlBzgoyzYQ/jphxde2QeDXQ1MacwGAUZ2+wSVv+dfvOGvewyOL5W/sPUoZLa N/T3jd+0imIWuWhMv8V824528YwBTQgF5uF3uxKcBAHtXVBciWwFmKpQV473ERroBHwl QCmaATgISOB2etqPi/0rhu2mfbs2a/m2UJW/VGxxiOsB6/bq4THsM31gn3kzgJE91KfE IszvMDtIhUx9sWwTrhv8QVkmwmx2Jied7zhsMCJPKlp3h+LsI0wR6ioal7EoBi3lScfo MsmA== X-Gm-Message-State: APjAAAUlkNE2GR5Cg8GpVQYZtJf1e31mH3ZhKECCTPijkdiwyWUNN9zj Bkw4lInDLM/d70v9SdcDlln2NRZlUAI= X-Google-Smtp-Source: APXvYqwlXeZjRcxY5BNf29JRqAFZpT6tz5qCs7Zm0kXkO6A6JMeCuQ4B9CFeE1NdEmdkxVXUHjfNXg== X-Received: by 2002:adf:fdd0:: with SMTP id i16mr3743565wrs.227.1571751148684; Tue, 22 Oct 2019 06:32:28 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 21/41] target/arm: Hoist computation of TBFLAG_A32.VFPEN Date: Tue, 22 Oct 2019 14:31:14 +0100 Message-Id: <20191022133134.14487-22-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson There are 3 conditions that each enable this flag. M-profile always enables; A-profile with EL1 as AA64 always enables. Both of these conditions can easily be cached. The final condition relies on the FPEXC register which we are not prepared to cache. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-12-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/cpu.h | 2 +- target/arm/helper.c | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 4d961474ce7..9909ff89d4f 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -3192,7 +3192,7 @@ FIELD(TBFLAG_A32, XSCALE_CPAR, 4, 2) * the same thing as the current security state of the processor! */ FIELD(TBFLAG_A32, NS, 6, 1) -FIELD(TBFLAG_A32, VFPEN, 7, 1) /* Not cached. */ +FIELD(TBFLAG_A32, VFPEN, 7, 1) /* Partially cached, minus FPEXC. = */ FIELD(TBFLAG_A32, CONDEXEC, 8, 8) /* Not cached. */ FIELD(TBFLAG_A32, SCTLR_B, 16, 1) /* For M profile only, set if FPCCR.LSPACT is set */ diff --git a/target/arm/helper.c b/target/arm/helper.c index 398e5f5d6df..89aa6fd9339 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11088,6 +11088,9 @@ static uint32_t rebuild_hflags_m32(CPUARMState *env= , int fp_el, { uint32_t flags =3D 0; =20 + /* v8M always enables the fpu. */ + flags =3D FIELD_DP32(flags, TBFLAG_A32, VFPEN, 1); + if (arm_v7m_is_handler_mode(env)) { flags =3D FIELD_DP32(flags, TBFLAG_A32, HANDLER, 1); } @@ -11119,6 +11122,10 @@ static uint32_t rebuild_hflags_a32(CPUARMState *en= v, int fp_el, ARMMMUIdx mmu_idx) { uint32_t flags =3D rebuild_hflags_aprofile(env); + + if (arm_el_is_aa64(env, 1)) { + flags =3D FIELD_DP32(flags, TBFLAG_A32, VFPEN, 1); + } return rebuild_hflags_common_32(env, fp_el, mmu_idx, flags); } =20 @@ -11250,14 +11257,13 @@ void cpu_get_tb_cpu_state(CPUARMState *env, targe= t_ulong *pc, flags =3D FIELD_DP32(flags, TBFLAG_A32, VECSTRIDE, env->vfp.vec_stride); } + if (env->vfp.xregs[ARM_VFP_FPEXC] & (1 << 30)) { + flags =3D FIELD_DP32(flags, TBFLAG_A32, VFPEN, 1); + } } =20 flags =3D FIELD_DP32(flags, TBFLAG_A32, THUMB, env->thumb); flags =3D FIELD_DP32(flags, TBFLAG_A32, CONDEXEC, env->condexec_bi= ts); - if (env->vfp.xregs[ARM_VFP_FPEXC] & (1 << 30) - || arm_el_is_aa64(env, 1) || arm_feature(env, ARM_FEATURE_M)) { - flags =3D FIELD_DP32(flags, TBFLAG_A32, VFPEN, 1); - } pstate_for_ss =3D env->uncached_cpsr; } =20 --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752540; cv=none; d=zoho.com; s=zohoarc; b=OEjezcJNgD4JUR4XBbo+EpFoMVv1Hn6U1i/OoKCi1fu7pbORkIscIOH3M6zFn4Tx9ty/HzPkOzk9L5LdGRTwAv3KLfWNzSy6AJF7DjBlX9Pjnuhe9tmtZCgkL2qsJbfGtLjSmcBBq6b+e0yApTyviVLVczhR2Cvoklwb3vjjow4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752540; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GSepKuBdExAvu93R1VSsheMCP0CVd7/15avmFDHul9k=; b=UeLqDaVfIIXpUMJ0uHclfWLpPv+2hHNJIJoeX2gerEeX3lYrda/rQz9u5mxvFDpHAjKZZsJ5SnMb44bXMuuaSVdGbVGFhRyGFeCCeuEJNNlFPi8QuxE1rAHB+rjEUxUHpRcCtsDRz6ORweVyfUX4I+r9gcSI0XJc6ve8T9ooDFI= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752540271906.5302058391165; Tue, 22 Oct 2019 06:55:40 -0700 (PDT) Received: from localhost ([::1]:57822 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMudO-0004LP-QS for importer@patchew.org; Tue, 22 Oct 2019 09:55:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36930) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuH3-00031b-Rs for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuH2-0001OL-Ge for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:33 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:34432) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuH2-0001O8-AY for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:32 -0400 Received: by mail-wr1-x443.google.com with SMTP id t16so12960321wrr.1 for ; Tue, 22 Oct 2019 06:32:32 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=GSepKuBdExAvu93R1VSsheMCP0CVd7/15avmFDHul9k=; b=Cu3apOc5mDK9FyIqAQNVtQUXMl94slUh8V1K1GQ/fK117UuOaTKcxgPA8XYf0RUogQ CWXUac3OW+YxXgdEIJGa87LAY3+DP19Jwf9Lnt/gxz6UpdwQ8vox+qTikFWn95DAC7F+ EijFyh4S07tMhM2LhC9/zT6v93LHw5pKmhn4LWBpfX8lJwaMigAsyHL65Z1yl39N2mmW ePVrXGt9xIGg5p9gbeLh8UY0RYpXaQqxvA6LsNWDHHyEG95USYExhTn0ILJJA/3EbbB+ R5UD1zGszxoD9W0EcEF7QkXy/UrGitO5hhKQ269q5hIaLH14RiQ8j24UTI2BuxtzobrK DGWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GSepKuBdExAvu93R1VSsheMCP0CVd7/15avmFDHul9k=; b=YuWqKO313LmDYjUCDeSuVIThSEuhMI2KVzTjudSIOWKQIJ4HRw7oIpreVLRNUG1fvH u5bjkAg+drLud5TpQVBeC161k1U7Aoc8E5+ulJCy8HrR0nuE3iCjWGR6jkL5HQk6p00u y0leMlJPmFCckKrH3d83MFEyaBHEWwfz9RseqjC9NOczCvK7s2AJQj0nHJoMzjmFOVl3 fGZsoXOsCo4jWm9Md2qn0DZXIdRONsl+HNAC9REj5AwUNKUFQ3WpYtWK93+qppAetCiK tgSQwKkGTrleXzs7LlzvpUqsjNnTJI7hNLjP5Ay2wPiY7HSJBsshR6yAv9l5lcaSuB5A x94Q== X-Gm-Message-State: APjAAAVOVyeBgH5NI0/LkETcTmO5yxd3f5fh7poL/+Nf4mILMX1yTxcq D6ySYHgJ5xUXozoeqxwETiC1L5tL6FU= X-Google-Smtp-Source: APXvYqyOYy6htDb3Y5W+97zmQGRjfikMHXpm/zi9KVk7/joQc3vW7VKMjeZ2hfOA0jJSTVI6yZavTw== X-Received: by 2002:adf:d84c:: with SMTP id k12mr3781298wrl.235.1571751150694; Tue, 22 Oct 2019 06:32:30 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 22/41] target/arm: Add arm_rebuild_hflags Date: Tue, 22 Oct 2019 14:31:15 +0100 Message-Id: <20191022133134.14487-23-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson This function assumes nothing about the current state of the cpu, and writes the computed value to env->hflags. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-13-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/cpu.h | 6 ++++++ target/arm/helper.c | 30 ++++++++++++++++++++++-------- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 9909ff89d4f..d844ea21d8d 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -3297,6 +3297,12 @@ void arm_register_pre_el_change_hook(ARMCPU *cpu, AR= MELChangeHookFn *hook, void arm_register_el_change_hook(ARMCPU *cpu, ARMELChangeHookFn *hook, void *opaque); =20 +/** + * arm_rebuild_hflags: + * Rebuild the cached TBFLAGS for arbitrary changed processor state. + */ +void arm_rebuild_hflags(CPUARMState *env); + /** * aa32_vfp_dreg: * Return a pointer to the Dn register within env in 32-bit mode. diff --git a/target/arm/helper.c b/target/arm/helper.c index 89aa6fd9339..85de96d071a 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11198,17 +11198,35 @@ static uint32_t rebuild_hflags_a64(CPUARMState *e= nv, int el, int fp_el, return rebuild_hflags_common(env, fp_el, mmu_idx, flags); } =20 +static uint32_t rebuild_hflags_internal(CPUARMState *env) +{ + int el =3D arm_current_el(env); + int fp_el =3D fp_exception_el(env, el); + ARMMMUIdx mmu_idx =3D arm_mmu_idx(env); + + if (is_a64(env)) { + return rebuild_hflags_a64(env, el, fp_el, mmu_idx); + } else if (arm_feature(env, ARM_FEATURE_M)) { + return rebuild_hflags_m32(env, fp_el, mmu_idx); + } else { + return rebuild_hflags_a32(env, fp_el, mmu_idx); + } +} + +void arm_rebuild_hflags(CPUARMState *env) +{ + env->hflags =3D rebuild_hflags_internal(env); +} + void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc, target_ulong *cs_base, uint32_t *pflags) { - ARMMMUIdx mmu_idx =3D arm_mmu_idx(env); - int current_el =3D arm_current_el(env); - int fp_el =3D fp_exception_el(env, current_el); uint32_t flags, pstate_for_ss; =20 + flags =3D rebuild_hflags_internal(env); + if (is_a64(env)) { *pc =3D env->pc; - flags =3D rebuild_hflags_a64(env, current_el, fp_el, mmu_idx); if (cpu_isar_feature(aa64_bti, env_archcpu(env))) { flags =3D FIELD_DP32(flags, TBFLAG_A64, BTYPE, env->btype); } @@ -11217,8 +11235,6 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target_= ulong *pc, *pc =3D env->regs[15]; =20 if (arm_feature(env, ARM_FEATURE_M)) { - flags =3D rebuild_hflags_m32(env, fp_el, mmu_idx); - if (arm_feature(env, ARM_FEATURE_M_SECURITY) && FIELD_EX32(env->v7m.fpccr[M_REG_S], V7M_FPCCR, S) !=3D env->v7m.secure) { @@ -11242,8 +11258,6 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target_= ulong *pc, flags =3D FIELD_DP32(flags, TBFLAG_A32, LSPACT, 1); } } else { - flags =3D rebuild_hflags_a32(env, fp_el, mmu_idx); - /* * Note that XSCALE_CPAR shares bits with VECSTRIDE. * Note that VECLEN+VECSTRIDE are RES0 for M-profile. --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752771; cv=none; d=zoho.com; s=zohoarc; b=SwvFA/d7/dZqERSvMsSJQH1IeCjND6qXHAHcbCtpek+JTcG+x2ehOfUhQDtw3lWEsOpSUXcWG9J6NCJJH4Xune+2yim11gOaFJj2wTOo5hqNc/rbZ1VZQPF6rD+iQvkg/QpntN+NkIj/yla08x4Hi33IGEVP9QExbKtzn0UO5ME= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752771; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=AjxV4oGswa4GKpOinnwqKxedXmy/4M53xUpHLL3DeFg=; b=MW1Z+qwpzSl60wYBujlSVSsXaI4sOmBsOLBYET7MXYo+CXtxSTYobekSFG5mu8siVzCnhZpWlsn8CgoHGplesU71C9PMCqKzZUWeNHYps5uWgEIJ4U4BQZ82F44chhKAH9oW2cIpQPPLYbaDnVwQ5FyKyE8e21Kfcoq/RHvgxGc= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752771817850.4809678059828; Tue, 22 Oct 2019 06:59:31 -0700 (PDT) Received: from localhost ([::1]:57932 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuh7-0000DC-BQ for importer@patchew.org; Tue, 22 Oct 2019 09:59:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36951) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuH5-00034s-LJ for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuH4-0001PI-It for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:35 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:37700) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuH4-0001Op-8I for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:34 -0400 Received: by mail-wm1-x32f.google.com with SMTP id f22so16202252wmc.2 for ; Tue, 22 Oct 2019 06:32:34 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=AjxV4oGswa4GKpOinnwqKxedXmy/4M53xUpHLL3DeFg=; b=UA4xddtFN3NA9QBCkGvT4fWs8xPF0gMxbjQeQM6JYkbYJl/2m6cdhhd/cchdKlV4+R NhxP96htrBjCHfoUhOYehDNAB+k9suRrGrFUKA9k4TRT4cdH0FxJGkosZFnqajn82Xt/ 19EJs1F4AtKWiGyqJIolj4Y4x5ipMuWiED5XesLNELRRedAQfAGMll0XMcj8qLKgbZgO +zC+y331OpgX/Y/5suqKNmzTbjPMI/ynU5Hazny5DB0BZKkVe1SCiMRwOHyhcqt77+4b 7uYqoRB8rLZaOpbXGzgdC1zHbrG+EHYFgdE1OsB8Kyq8JoeJgeMfCIyZIfJv3Rct1qM9 i/7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AjxV4oGswa4GKpOinnwqKxedXmy/4M53xUpHLL3DeFg=; b=P3/G16pw4wH//Xgluk89NMYl/oSDERyBasGZa3hNxLRxszDigmqytLyHc2NAF9kHiv BEjblVCzKi9wzf6RD/YUXfgIC2O93OClkEAU2nYh9Se3LiFeN9viFLahMAu4lnEd1p+l MJL/LKHuQIH8a12VUDvrYR/p4S4/r/y7lxKsp8lV47hOCqJ23GA91ghLJdAJFP8fQb8F 4cjkAu5pWQSkybEt5VrEaQB2JydsOZT3zdXVk56IeJFmWLolN9u+PKkKif1HQbLErb8u LfPCmA0ERj8xxRWktnQVUxHiDtfTfnNzf6nL4Wnpyi1uPnr+qxrOUy6M4CLpptdYJbGA 6HOQ== X-Gm-Message-State: APjAAAWMMgk+8LaPPzQuqp+6bWBK+IOszWosLdBW3TMCiasx7sQYC6Bl NnZppaeMaKZ3pfAXQbD47KXmIIBttpw= X-Google-Smtp-Source: APXvYqzldmPfRBjoczp0Rnp/QZd/35mHL+TYAE+2w4+j2w555AsraPMWBbRBsoWeujq7JwUhvZyyWw== X-Received: by 2002:a1c:a9cb:: with SMTP id s194mr3309684wme.92.1571751152635; Tue, 22 Oct 2019 06:32:32 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 23/41] target/arm: Split out arm_mmu_idx_el Date: Tue, 22 Oct 2019 14:31:16 +0100 Message-Id: <20191022133134.14487-24-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32f X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Avoid calling arm_current_el() twice. Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-14-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/internals.h | 9 +++++++++ target/arm/helper.c | 12 +++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index 232d9638753..f5313dd3d42 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -949,6 +949,15 @@ void arm_cpu_update_virq(ARMCPU *cpu); */ void arm_cpu_update_vfiq(ARMCPU *cpu); =20 +/** + * arm_mmu_idx_el: + * @env: The cpu environment + * @el: The EL to use. + * + * Return the full ARMMMUIdx for the translation regime for EL. + */ +ARMMMUIdx arm_mmu_idx_el(CPUARMState *env, int el); + /** * arm_mmu_idx: * @env: The cpu environment diff --git a/target/arm/helper.c b/target/arm/helper.c index 85de96d071a..3f7d3f257d8 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11026,15 +11026,12 @@ ARMMMUIdx arm_v7m_mmu_idx_for_secstate(CPUARMStat= e *env, bool secstate) } #endif =20 -ARMMMUIdx arm_mmu_idx(CPUARMState *env) +ARMMMUIdx arm_mmu_idx_el(CPUARMState *env, int el) { - int el; - if (arm_feature(env, ARM_FEATURE_M)) { return arm_v7m_mmu_idx_for_secstate(env, env->v7m.secure); } =20 - el =3D arm_current_el(env); if (el < 2 && arm_is_secure_below_el3(env)) { return ARMMMUIdx_S1SE0 + el; } else { @@ -11042,6 +11039,11 @@ ARMMMUIdx arm_mmu_idx(CPUARMState *env) } } =20 +ARMMMUIdx arm_mmu_idx(CPUARMState *env) +{ + return arm_mmu_idx_el(env, arm_current_el(env)); +} + int cpu_mmu_index(CPUARMState *env, bool ifetch) { return arm_to_core_mmu_idx(arm_mmu_idx(env)); @@ -11202,7 +11204,7 @@ static uint32_t rebuild_hflags_internal(CPUARMState= *env) { int el =3D arm_current_el(env); int fp_el =3D fp_exception_el(env, el); - ARMMMUIdx mmu_idx =3D arm_mmu_idx(env); + ARMMMUIdx mmu_idx =3D arm_mmu_idx_el(env, el); =20 if (is_a64(env)) { return rebuild_hflags_a64(env, el, fp_el, mmu_idx); --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752748; cv=none; d=zoho.com; s=zohoarc; b=fDYKpstAdKqbiTemzU7amooq/EDFsrKy/ls0obHcK3Ahgt/J5SSbGTq3cdVZMr3Wyy1FROdaxAPleyZ/SZPpoPOp7upS/GP8WfSVDI9vFLL7h9SyZmfmG1V9aUuB5+AaH72CbuueZD3n8YoW59zhiczCLdL7o9VXGPnCssH67ak= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752748; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=XIcMLgLOy6AOjihetZxPEvZlo29WPIvHIy0xHe5Xspw=; b=c5nW2/A+ZtvtPbkF3hMV0Sr71v19KRp0O/0W/dtd5/NLbbbFEy5oX5XKq7hv8HIa9lUUhZfzKoHeHornvGePTe5dTE4fgwY9cJZI0t6UUpVPSQAuLqy0wVNWwKSQxYulj95fhiI2oMIdO0FpU3vppr5PFTHkQoHg7382AJ+CzQI= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752748530512.9580656756417; Tue, 22 Oct 2019 06:59:08 -0700 (PDT) Received: from localhost ([::1]:57892 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMugk-0008BF-Rz for importer@patchew.org; Tue, 22 Oct 2019 09:59:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36985) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuH8-00038C-7q for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuH5-0001Q8-Vz for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:37 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:44015) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuH5-0001PZ-Pq for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:35 -0400 Received: by mail-wr1-x42e.google.com with SMTP id c2so12855883wrr.10 for ; Tue, 22 Oct 2019 06:32:35 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=XIcMLgLOy6AOjihetZxPEvZlo29WPIvHIy0xHe5Xspw=; b=Cw0FXpfYiZ0MB8qI9iXrI5B0xjpmT94qfAYKX5hbnRaV+gxwEvRLw7xxFPix9GkBGK v2SixdegqgmQONCeazgzWtw32b2akft8j1k7MX0r6usDCiwmYCmii4odkYvLDEX4YIU0 EI+vl2lfTt28+lfiqbE4hhS59jW/xoG8mB6+olZHfn90FU1k9xuQrfql16/yyey3r2Qi IV0yErEgKOOYUBY0ITgJka7IH2xJcg0djOHYpd2shJq3cpOjbWwrET+1oLNh0812Xqfm PbD7JjnNcEVAM7PUYUd41UUmyz70zNjm/HaZIIyUqiIa1VFJk/HXGpEeEvivsdK+OzPo gOjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=XIcMLgLOy6AOjihetZxPEvZlo29WPIvHIy0xHe5Xspw=; b=CpXk5a5qHokQEJ+0eX9xDkd96p7WWQjYZge6qW4pmY+qMNSmFaCtrvqZ8aZ2kAGONT vpxZFHvGr3XE5b0+WS+JytRjf7l1/sJKOQG6JvY0KM5QCJsiVfspMP/nVkr613kn8h96 ovCqlrH8xrvhJCYpneU2/Vl3U7sWUJD3oiqTQP+bDPbRsgy6qwORF1CsJ0K2mbCjpLWQ KwDedR5pqQeVqpal0C0EZgmck+pKo1eYXHBmvC4VIq38jfAoeiTLDwTX3nje128T7IFA LAdFDyC8s6yuZRg3HhsCL37rOsrgDf4WPKaSb6CK6ENg/ofNG2ilsyH35eCNUT6EDgeM WWPQ== X-Gm-Message-State: APjAAAXl2tSLL18ye+Jqa0lVgrku/rPgX9AoCcvuqKDiDbj2nqTpzruv ykOb9iQJMKi4yXb2VJ+pDezbuZ8ljG0= X-Google-Smtp-Source: APXvYqwt7TVu0nuElov9iGVoNVfyW9Oe1UJ2PJmOtjSLNSLJ91uFfreIW07trc4SX8l//IYcgI1XrA== X-Received: by 2002:a5d:6a02:: with SMTP id m2mr3807170wru.304.1571751154248; Tue, 22 Oct 2019 06:32:34 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 24/41] target/arm: Hoist store to cs_base in cpu_get_tb_cpu_state Date: Tue, 22 Oct 2019 14:31:17 +0100 Message-Id: <20191022133134.14487-25-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42e X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson By performing this store early, we avoid having to save and restore the register holding the address around any function calls. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-15-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 3f7d3f257d8..37424e3d4dd 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11225,6 +11225,7 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target_= ulong *pc, { uint32_t flags, pstate_for_ss; =20 + *cs_base =3D 0; flags =3D rebuild_hflags_internal(env); =20 if (is_a64(env)) { @@ -11298,7 +11299,6 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target_= ulong *pc, } =20 *pflags =3D flags; - *cs_base =3D 0; } =20 #ifdef TARGET_AARCH64 --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752979; cv=none; d=zoho.com; s=zohoarc; b=jbesLJeA9XZasocttwBXuNOHNQCp3hKrdRi48MtJcM8wuFuG2jz/c4Sp1TRL8hi7hnbWrDLiceyUM4t3lsUzB8ea8kJt+ugnprjRQzD5e3vSvUqcZNxPAVHsnjinNIpfnYQiIbAq6tMiiXW8CscvWr7iZ2VOKCtJsmxy6hVpZbs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752979; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=wnRZsm7NhaxxnhkKjePsOV7gMBnf+WiZW/Dfozs982c=; b=BwgtEzpiI11n1whd8KAP8/cbk7K3sNND+6KUnxyQUXcHDG8xAJu7UwxHVCEFXuvNrx5P2pBUxHourwV30HpvKOicl9D/+AlYPgxmXqEHTjQSmpOvdre66Y6uBTcmatyeASx6dba+wrx/pagrIybntm+tlxxYWRTbdQI+6t81R88= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752979486742.4653183342259; Tue, 22 Oct 2019 07:02:59 -0700 (PDT) Received: from localhost ([::1]:58026 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMukT-0004B8-S0 for importer@patchew.org; Tue, 22 Oct 2019 10:02:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37009) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuH9-00039W-Ms for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuH7-0001Qz-W5 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:39 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:44022) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuH7-0001Qh-Q2 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:37 -0400 Received: by mail-wr1-x435.google.com with SMTP id c2so12856005wrr.10 for ; Tue, 22 Oct 2019 06:32:37 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=wnRZsm7NhaxxnhkKjePsOV7gMBnf+WiZW/Dfozs982c=; b=Y4VqBYqDwKVlE+6g3Ie+UcS4074xFHqLbYGA6Y1gzLajVCQ9btyHlmFsLYv8tWkTOc X9XFtKCISt2PYxUXDugPvF+nFyHsJZyS+8NVNmHH0MBz4N74PHdm4nztttWkJFhqCIcz VhPxvjggPkp9SffsjP56xWLaMhsy36xF8BwmG+dzxCDhV7gn7H+r+0QlCBVhLDN0iXDl SNxjtoMTt12dyCi/lRrU/roKLfTwikI18uNSho6fBllgC73j0/hq+96H6JbTaqU317Lo ffLhbV6QlIKF8unQTl2H//Y8E1Gw3szqPijrHD9Y3qON6Cz1OCcQxnlspr59s39/+nYS rZmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wnRZsm7NhaxxnhkKjePsOV7gMBnf+WiZW/Dfozs982c=; b=IXKiKyGJvQgu2eGOdzqfOSOxwUcnhDwK4Qa9a3fjmpQx/uxcfDCrqbx+SkBm0LzhyL /ohHOnu2bvVh5jwmqZeAXjC6p98Xg/F4c7ahAXjnliGvdAi/j8FbfpxztE3j7q3qdU4Y 3KqblPcs8FpuzLnpwjH1ZyU4S5nddKcv2+vABXU6qOtScFlfoqRkYA4NuYUv/X5kmLr2 Qc1uhUgRV917/LNDDY/kd3DbBKDTx7hB1vIWWjeSSCc1/IySAUV4ke5evqk9MHVwytW4 Lfzx2XOihG9YBRkP2v4akxXlWUwPpGF2c+FUjxt6vFlPDLi1D8T4ILd0ZHw6Z3krDb+/ pWbw== X-Gm-Message-State: APjAAAXtw0QQCd9tN3meDpJI23Wa9OXTNUS+UAXSD68+c6i6ki2a1q7A blvWlmGiYMuQ6tO86I/0VOI+3nd9YVo= X-Google-Smtp-Source: APXvYqxUqq2OO2OTrGUeWdstqyLalXBuX3Q40b7kXkpWXd/QHHxFSqVDyKFLIRbiWaWQZgy8rwxuhw== X-Received: by 2002:a5d:540c:: with SMTP id g12mr3561086wrv.335.1571751156292; Tue, 22 Oct 2019 06:32:36 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 25/41] target/arm: Add HELPER(rebuild_hflags_{a32, a64, m32}) Date: Tue, 22 Oct 2019 14:31:18 +0100 Message-Id: <20191022133134.14487-26-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::435 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson This functions are given the mode and el state of the cpu and writes the computed value to env->hflags. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-16-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.h | 4 ++++ target/arm/helper.c | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/target/arm/helper.h b/target/arm/helper.h index 1fb2cb5a777..3d4ec267a2c 100644 --- a/target/arm/helper.h +++ b/target/arm/helper.h @@ -90,6 +90,10 @@ DEF_HELPER_4(msr_banked, void, env, i32, i32, i32) DEF_HELPER_2(get_user_reg, i32, env, i32) DEF_HELPER_3(set_user_reg, void, env, i32, i32) =20 +DEF_HELPER_FLAGS_2(rebuild_hflags_m32, TCG_CALL_NO_RWG, void, env, int) +DEF_HELPER_FLAGS_2(rebuild_hflags_a32, TCG_CALL_NO_RWG, void, env, int) +DEF_HELPER_FLAGS_2(rebuild_hflags_a64, TCG_CALL_NO_RWG, void, env, int) + DEF_HELPER_1(vfp_get_fpscr, i32, env) DEF_HELPER_2(vfp_set_fpscr, void, env, i32) =20 diff --git a/target/arm/helper.c b/target/arm/helper.c index 37424e3d4dd..b2d701cf004 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11220,6 +11220,30 @@ void arm_rebuild_hflags(CPUARMState *env) env->hflags =3D rebuild_hflags_internal(env); } =20 +void HELPER(rebuild_hflags_m32)(CPUARMState *env, int el) +{ + int fp_el =3D fp_exception_el(env, el); + ARMMMUIdx mmu_idx =3D arm_mmu_idx_el(env, el); + + env->hflags =3D rebuild_hflags_m32(env, fp_el, mmu_idx); +} + +void HELPER(rebuild_hflags_a32)(CPUARMState *env, int el) +{ + int fp_el =3D fp_exception_el(env, el); + ARMMMUIdx mmu_idx =3D arm_mmu_idx_el(env, el); + + env->hflags =3D rebuild_hflags_a32(env, fp_el, mmu_idx); +} + +void HELPER(rebuild_hflags_a64)(CPUARMState *env, int el) +{ + int fp_el =3D fp_exception_el(env, el); + ARMMMUIdx mmu_idx =3D arm_mmu_idx_el(env, el); + + env->hflags =3D rebuild_hflags_a64(env, el, fp_el, mmu_idx); +} + void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc, target_ulong *cs_base, uint32_t *pflags) { --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571753171; cv=none; d=zoho.com; s=zohoarc; b=d58Nhfm7o/+OsI/sSvhpanPRicHgxVGbzIFwVv+SyiDAaE+GBuAnngT6w8H236uvzKW/yzfWpf5j913YmdXD+ntBoU/dcTinBpJ+VtqwqJJbjuA22v7fXc48maBJK44G1NEZgl504WO/IoKUvbu3HqEaxq93QBRStkUaFUDtJb4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571753171; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xlxLXlWG2xF7OJitSg1PRqbCTnK1/cIa18eJM5Ccjb0=; b=jq0Tq42RkbwVDvV7PYH8s95byKZp4ojwPyRvRmTM+BCawNROevceJwBMo6gTZkHfavMctX8ALHgwEmNYWJPxNuhsL/c3j2gBOaRRvvAo2SJo1veTpPOaf02/fYb1rDniGJbyHLk8AwDO0QXPf67VfeVwNDTrBG3+qR4bqK1zoUc= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571753171926227.3940874162198; Tue, 22 Oct 2019 07:06:11 -0700 (PDT) Received: from localhost ([::1]:58062 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMunV-0008Tq-Li for importer@patchew.org; Tue, 22 Oct 2019 10:06:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37040) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHB-0003CO-9c for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuH9-0001Ru-SI for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:41 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:42922) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuH9-0001RY-LP for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:39 -0400 Received: by mail-wr1-x435.google.com with SMTP id r1so8299757wrs.9 for ; Tue, 22 Oct 2019 06:32:39 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=xlxLXlWG2xF7OJitSg1PRqbCTnK1/cIa18eJM5Ccjb0=; b=k4wZ9g5/JvmlDhDXNJp7RlyG1tmSfDmztgXuvNEUifzdBDkrRlVydz2bPwfBt+BLoG N8wyBStwFjy6ic4T5zcHmJqksltm8TkbQSrsw8HRZawA3jv9HKnHJb/A/M7ydoDPL5Q0 jInKy8YKajLrSjcttSEsSqGGvggoCqxyFAQFxhZfCc5/rcQVjXe/0AIaiHe5VNQSZ+A5 NSZphuk3PjXuY3gSYKDKxTOWFkO4PqZcqs6qNqcWHvMADh5kr850cFq7ZNeL8Z5T6iPT zybwBothfYLKFPUSHT9HC4Fy/g+n8Rkw08Fb6/X6Mgd4qa4nLvQWp/P5csH/7ygT0A3J nsXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xlxLXlWG2xF7OJitSg1PRqbCTnK1/cIa18eJM5Ccjb0=; b=q5JyMQNW0z2JqAz1ij0xKFNLvWTzl19uqeS9gBHRSbj0EHUZMSObTZ4sGTrRIDSBcn Oy9mGnVIL3OMgeMo4kKyt9kk6+a41BXw8OPfzgtvD8yw+7EnUX8reBh+IW/Eyu0D0gBt 9FmsWenMH98uVUK6gUq+O7c1UY9fX+ldMd5CUKLqMSez0alUS81ClJpewcOzOmDEnCNQ Cz/3/5EHam1/nRqwHozxLCkJUQr9I4x7j2a9Z3s7heN4Y0+1daFfmEhbz0TO8Lny25n+ /ASp/rrnUjjRwzZ9GEQkmvWPA9ejrRBPtkGMMcKkPvFF8Xg7x95mcPFITg5j1JO3PZl3 NCMw== X-Gm-Message-State: APjAAAXB42SX4N0Oixcqnqek1vudJ0p+8bTajPU5Kvlz5OWc43JUMLSq yCGYhTQVsSLSvgjdrAj6LkoFKlnwPR0= X-Google-Smtp-Source: APXvYqzJNUGNBdJBJuk6YWfGetwn+1hg3bpfcZgD7wpqNxyfRsuBPC/7E9xqdkVpmKzlhfvdVgTI2A== X-Received: by 2002:adf:8289:: with SMTP id 9mr3805661wrc.0.1571751158146; Tue, 22 Oct 2019 06:32:38 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 26/41] target/arm: Rebuild hflags at EL changes Date: Tue, 22 Oct 2019 14:31:19 +0100 Message-Id: <20191022133134.14487-27-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::435 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Begin setting, but not relying upon, env->hflags. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-17-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- linux-user/syscall.c | 1 + target/arm/cpu.c | 1 + target/arm/helper-a64.c | 3 +++ target/arm/helper.c | 2 ++ target/arm/machine.c | 1 + target/arm/op_helper.c | 1 + 6 files changed, 9 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index f1ab81b9177..530c8433036 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -9984,6 +9984,7 @@ static abi_long do_syscall1(void *cpu_env, int num, a= bi_long arg1, aarch64_sve_narrow_vq(env, vq); } env->vfp.zcr_el[1] =3D vq - 1; + arm_rebuild_hflags(env); ret =3D vq * 16; } return ret; diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 13813fb2135..ab3e1a03616 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -406,6 +406,7 @@ static void arm_cpu_reset(CPUState *s) =20 hw_breakpoint_update_all(cpu); hw_watchpoint_update_all(cpu); + arm_rebuild_hflags(env); } =20 bool arm_cpu_exec_interrupt(CPUState *cs, int interrupt_request) diff --git a/target/arm/helper-a64.c b/target/arm/helper-a64.c index bca80bdc38b..b4cd680fc48 100644 --- a/target/arm/helper-a64.c +++ b/target/arm/helper-a64.c @@ -1025,6 +1025,7 @@ void HELPER(exception_return)(CPUARMState *env, uint6= 4_t new_pc) } else { env->regs[15] =3D new_pc & ~0x3; } + helper_rebuild_hflags_a32(env, new_el); qemu_log_mask(CPU_LOG_INT, "Exception return from AArch64 EL%d to " "AArch32 EL%d PC 0x%" PRIx32 "\n", cur_el, new_el, env->regs[15]); @@ -1036,10 +1037,12 @@ void HELPER(exception_return)(CPUARMState *env, uin= t64_t new_pc) } aarch64_restore_sp(env, new_el); env->pc =3D new_pc; + helper_rebuild_hflags_a64(env, new_el); qemu_log_mask(CPU_LOG_INT, "Exception return from AArch64 EL%d to " "AArch64 EL%d PC 0x%" PRIx64 "\n", cur_el, new_el, env->pc); } + /* * Note that cur_el can never be 0. If new_el is 0, then * el0_a64 is return_to_aa64, else el0_a64 is ignored. diff --git a/target/arm/helper.c b/target/arm/helper.c index b2d701cf004..aae7b62458f 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -7998,6 +7998,7 @@ static void take_aarch32_exception(CPUARMState *env, = int new_mode, env->regs[14] =3D env->regs[15] + offset; } env->regs[15] =3D newpc; + arm_rebuild_hflags(env); } =20 static void arm_cpu_do_interrupt_aarch32_hyp(CPUState *cs) @@ -8345,6 +8346,7 @@ static void arm_cpu_do_interrupt_aarch64(CPUState *cs) pstate_write(env, PSTATE_DAIF | new_mode); env->aarch64 =3D 1; aarch64_restore_sp(env, new_el); + helper_rebuild_hflags_a64(env, new_el); =20 env->pc =3D addr; =20 diff --git a/target/arm/machine.c b/target/arm/machine.c index 5c36707a7c9..eb28b2381bb 100644 --- a/target/arm/machine.c +++ b/target/arm/machine.c @@ -756,6 +756,7 @@ static int cpu_post_load(void *opaque, int version_id) if (!kvm_enabled()) { pmu_op_finish(&cpu->env); } + arm_rebuild_hflags(&cpu->env); =20 return 0; } diff --git a/target/arm/op_helper.c b/target/arm/op_helper.c index 0fd4bd02385..ccc2cecb467 100644 --- a/target/arm/op_helper.c +++ b/target/arm/op_helper.c @@ -404,6 +404,7 @@ void HELPER(cpsr_write_eret)(CPUARMState *env, uint32_t= val) * state. Do the masking now. */ env->regs[15] &=3D (env->thumb ? ~1 : ~3); + arm_rebuild_hflags(env); =20 qemu_mutex_lock_iothread(); arm_call_el_change_hook(env_archcpu(env)); --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752004; cv=none; d=zoho.com; s=zohoarc; b=Bif4aNZXe7Rz6Lld0iPULcZd1rQgLMo2rLaVXA7E28lz9U9FPPjzYhFOH1TDh3dVe6F0sOaP6WrBfCoLwZ2DZ7vSGWXdeqAvuQ0N6tv2kklEcv3BG67E5l7PEBaMSWREa0wtvydozIvBNQQ2ZgZFSB/IKPPv8AHc5+bb0jzeKjs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752004; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=SrVz8zV33u4/B/5UmvJ5uDPbu/uO8YsNIkly3MZVQcQ=; b=E8gPUuqqd2QOb2S8Fjvh2EbHrHR+jD+hjYjmBpvCNeRA8uyQe5TTXM64kLsb6dNy8om5SkQoWu8vH0x10PgF6Yh+/9r3oIjLmMXSuWdRGiiZ6mr6U9zaq5vo7r1sfauQ3fXXyxGVGahpA2Lp052XL88HmJ1Q9/Aue//4sIEH958= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752003977548.0852343713738; Tue, 22 Oct 2019 06:46:43 -0700 (PDT) Received: from localhost ([::1]:57620 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuUk-0002em-DL for importer@patchew.org; Tue, 22 Oct 2019 09:46:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37060) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHD-0003Ex-JZ for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHB-0001Su-U5 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:43 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:44021) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHB-0001SS-NN for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:41 -0400 Received: by mail-wr1-x433.google.com with SMTP id c2so12856236wrr.10 for ; Tue, 22 Oct 2019 06:32:41 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=SrVz8zV33u4/B/5UmvJ5uDPbu/uO8YsNIkly3MZVQcQ=; b=QCSxk0TLq3Jp5roB8gh9m+o6QyLSraW4EPIkaL6DfiYrU6Cs6Je9j3mAmXGjOxCSj/ 9cGAdzi2lYFKbAXyq0tdccqIsNl0m/2i6HiewZRGriSW50dCmwsx/+bDYYqRgpmU4z// gagFEZF5hXTFvJ0ZPJxQAp09mzsKqRMQcc9Kg7+6O1vuP4yjIxvesYY+UnM5lflPKVkY tEXP497FUpurT3ZSpYxfVnVefFI/PFr95AKgsE43vxcFENu0mMu8bITMxDc/f+ZeXbVw MGre0uXxxDl6ddFKF+EWPhXD5c01A1IN+UaBa5a7oZRqDSe6WPoT8nVXqhB4w3vjP/5l siGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SrVz8zV33u4/B/5UmvJ5uDPbu/uO8YsNIkly3MZVQcQ=; b=PDb6wPNIpfEwOKUjf+Lq8FT+AKNeLachPak00Ugz/0jqw3ks3Q5c3Xatzz6ZrHUUeH xVq28Zo2B1f6Ka1qwsaPKRlDluiTbE76cotPLlgbSagyDsG2kIi7iLb9BUx+yCYqB5fT vTTLoO4kc96lHcgMIG4/jgKnQCDIgU+BzbnxWD3vyBFehbkK689ql2Q9B2RbTu0jjHR+ lqfVq9hh5Vd61Wr+bN0mnNbyMzF1JIBQIxkpbj+cdynfQZVGNhaqbuoX7RZXtUD4RXLv V7Vf2bLuQl/nGadUgrJzyF5GUFYc4saqBupcp0TRgejYK0fIKfC/Po3aVMh8bABfOpfL gKOw== X-Gm-Message-State: APjAAAXmIJk9RdO2ASPBItBk3MHkNnHWp+YX/3oKTC6fO3o/pEgjeGWW Lhnc8f3j2eEIX6z4bLPP7ksteeRdLB8= X-Google-Smtp-Source: APXvYqyW/u+KrBefo36TV/IPdXXUXAwWeM9fpxfC5G7VlBgeJatV3s7D0/Ns7jdv4rswQtJAWDJ++A== X-Received: by 2002:adf:978a:: with SMTP id s10mr3759209wrb.264.1571751160008; Tue, 22 Oct 2019 06:32:40 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 27/41] target/arm: Rebuild hflags at MSR writes Date: Tue, 22 Oct 2019 14:31:20 +0100 Message-Id: <20191022133134.14487-28-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::433 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Continue setting, but not relying upon, env->hflags. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-18-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 13 +++++++++++-- target/arm/translate.c | 28 +++++++++++++++++++++++----- 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 2d6cd09634c..d4bebbe6295 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -1789,8 +1789,17 @@ static void handle_sys(DisasContext *s, uint32_t ins= n, bool isread, if ((tb_cflags(s->base.tb) & CF_USE_ICOUNT) && (ri->type & ARM_CP_IO))= { /* I/O operations must end the TB here (whether read or write) */ s->base.is_jmp =3D DISAS_UPDATE; - } else if (!isread && !(ri->type & ARM_CP_SUPPRESS_TB_END)) { - /* We default to ending the TB on a coprocessor register write, + } + if (!isread && !(ri->type & ARM_CP_SUPPRESS_TB_END)) { + /* + * A write to any coprocessor regiser that ends a TB + * must rebuild the hflags for the next TB. + */ + TCGv_i32 tcg_el =3D tcg_const_i32(s->current_el); + gen_helper_rebuild_hflags_a64(cpu_env, tcg_el); + tcg_temp_free_i32(tcg_el); + /* + * We default to ending the TB on a coprocessor register write, * but allow this to be suppressed by the register definition * (usually only necessary to work around guest bugs). */ diff --git a/target/arm/translate.c b/target/arm/translate.c index 96340520ee2..46a0bf51c95 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -6890,6 +6890,8 @@ static int disas_coproc_insn(DisasContext *s, uint32_= t insn) ri =3D get_arm_cp_reginfo(s->cp_regs, ENCODE_CP_REG(cpnum, is64, s->ns, crn, crm, opc1, opc2)); if (ri) { + bool need_exit_tb; + /* Check access permissions */ if (!cp_access_ok(s->current_el, ri, isread)) { return 1; @@ -7068,14 +7070,30 @@ static int disas_coproc_insn(DisasContext *s, uint3= 2_t insn) } } =20 - if ((tb_cflags(s->base.tb) & CF_USE_ICOUNT) && (ri->type & ARM_CP_= IO)) { - /* I/O operations must end the TB here (whether read or write)= */ - gen_lookup_tb(s); - } else if (!isread && !(ri->type & ARM_CP_SUPPRESS_TB_END)) { - /* We default to ending the TB on a coprocessor register write, + /* I/O operations must end the TB here (whether read or write) */ + need_exit_tb =3D ((tb_cflags(s->base.tb) & CF_USE_ICOUNT) && + (ri->type & ARM_CP_IO)); + + if (!isread && !(ri->type & ARM_CP_SUPPRESS_TB_END)) { + /* + * A write to any coprocessor regiser that ends a TB + * must rebuild the hflags for the next TB. + */ + TCGv_i32 tcg_el =3D tcg_const_i32(s->current_el); + if (arm_dc_feature(s, ARM_FEATURE_M)) { + gen_helper_rebuild_hflags_m32(cpu_env, tcg_el); + } else { + gen_helper_rebuild_hflags_a32(cpu_env, tcg_el); + } + tcg_temp_free_i32(tcg_el); + /* + * We default to ending the TB on a coprocessor register write, * but allow this to be suppressed by the register definition * (usually only necessary to work around guest bugs). */ + need_exit_tb =3D true; + } + if (need_exit_tb) { gen_lookup_tb(s); } =20 --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752301; cv=none; d=zoho.com; s=zohoarc; b=FSsnIgqtDSmaJbbsYfS8d/3VbFTLKlDpHTESP6c9rpkxQj2EJYjT2JCPgmZhE8ABPlEWpL8mHnrbA3M0/4ULD0LkSeqkiDJxDzYqxJ/Mdvg6i4S3TWyKfSXgoplQxM3kiegNsBZISSOeaYlYprpRsfoY6Mth9rnS/zxujpzEXeA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752301; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1/mAfeRaj2VT53r9QN+14J2AmI4c8ehCDN6UkkQabK4=; b=Kd0jgC9PiW4ENa87lDpIosWnl1DmewtcgoQiUx8uUcR4evQuuQhYmm3jskDQ+K4By1Caeyf0x135vTv/m+8bkvNO6IhdjS9R+vwwAtWjQiZCjUUJfp/S57Y5lrDWoc6q520j26v1dmApLHH+KHWnaJtkB8n1gOceQ9hDN075jkQ= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752301566189.21007492740046; Tue, 22 Oct 2019 06:51:41 -0700 (PDT) Received: from localhost ([::1]:57720 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuZX-0007Eg-RX for importer@patchew.org; Tue, 22 Oct 2019 09:51:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37076) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHF-0003Hg-SC for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHE-0001Tf-Mq for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:45 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:37696) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHE-0001TR-Ee for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:44 -0400 Received: by mail-wm1-x329.google.com with SMTP id f22so16202883wmc.2 for ; Tue, 22 Oct 2019 06:32:44 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=1/mAfeRaj2VT53r9QN+14J2AmI4c8ehCDN6UkkQabK4=; b=enBx5zVx+83+XF2X/YJOZV2t9Bs3wsA1pK942z6am0+LU/m1FmZpBPSd1Eis+y5FMW z1VxqfNiOqY2uqZDR22wa/iEXoI319KDMUDnkAwaUscDnjyMLxcyu5fThVqYsCrj304Z fYcMILNVHTZdlemXhH8fTaL5uwaSgXKZDiR8R79H8ybAcH+VroO/RP7mWxBko/a4e/U8 5cnMgqHflIN5MQVyg4WLlBT5sEwg/uQzfggCSijlhgGhFbAGchavVHCc+nQSOecm7Qmu CgBO1UpwiLENKkRqw5WUDWMjZuRFuko6oTQEAGLp+cFjbq8fB480uOQkVYUHwmzO6+Am Eoqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1/mAfeRaj2VT53r9QN+14J2AmI4c8ehCDN6UkkQabK4=; b=rFWCjLM8uehtvx0a6w9+4zoEmGnVdUzd1PJDhE14EZ8xWATLSR5gRn3wYTFS7wTS/d mSxFts2LQ6Gz1G/p/HIHnd9q4+ix8JL2UOnmAyIBu11fNBvUJcxOBWFDKVmUVsies7lb lpOVqUv8pKp8XI+k9qwdw9aO8zYC8eW13sTfndJWY2P0PDxCtUho/MBY8M7jsxPwpvQN X40+W56E/buJJw4NaFF4nOFaBLUKK3F4XsoFAl6lZpuPPao3bEGk6O3tJWRqdEu0U2+0 jlQYFL3xuFn3F0Y+kkR7cMwLKqquRkV18xRx1F4fLvcnZc6nQw3UzXolunm9y0UYVnWK Gdqw== X-Gm-Message-State: APjAAAX6w2iC5CahZpv1WEfiDEyqQwWYo2x2QmNtugmSOqvX+LN26ja2 zya7Npca8jH+PRrV/h12HFfGROVHpvM= X-Google-Smtp-Source: APXvYqz5zQpAiIPzp9kfFjb4iho5a8d264BU+DRFKOS/HMDJbQpQgGdU4/GQLj8LfHKqdk99bBRePQ== X-Received: by 2002:a7b:c186:: with SMTP id y6mr3251012wmi.67.1571751162933; Tue, 22 Oct 2019 06:32:42 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 28/41] target/arm: Rebuild hflags at CPSR writes Date: Tue, 22 Oct 2019 14:31:21 +0100 Message-Id: <20191022133134.14487-29-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::329 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Continue setting, but not relying upon, env->hflags. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-19-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/op_helper.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/arm/op_helper.c b/target/arm/op_helper.c index ccc2cecb467..b529d6c1bf7 100644 --- a/target/arm/op_helper.c +++ b/target/arm/op_helper.c @@ -224,6 +224,7 @@ uint32_t HELPER(usat16)(CPUARMState *env, uint32_t x, u= int32_t shift) void HELPER(setend)(CPUARMState *env) { env->uncached_cpsr ^=3D CPSR_E; + arm_rebuild_hflags(env); } =20 /* Function checks whether WFx (WFI/WFE) instructions are set up to be tra= pped. @@ -387,6 +388,8 @@ uint32_t HELPER(cpsr_read)(CPUARMState *env) void HELPER(cpsr_write)(CPUARMState *env, uint32_t val, uint32_t mask) { cpsr_write(env, val, mask, CPSRWriteByInstr); + /* TODO: Not all cpsr bits are relevant to hflags. */ + arm_rebuild_hflags(env); } =20 /* Write the CPSR for a 32-bit exception return */ --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752954; cv=none; d=zoho.com; s=zohoarc; b=cq88dL01A/AkLk7P47XjOZSMgKwMccJlcdFItpfY3irehdvzULFHUZD/8ESkmYmKGcdVpbybStCZjvFXl145aTL7hhtvDl6RIc2b4hdC8T9fzSo6dTJWBqESAuBHUcWJ4wmnuOmafk5l/2Sp9ZwOFrxEwIzmdRq4Pakonil9zHU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752954; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=btuVklyn5jdYvmT5eZen6ynTwp3atEoaC3ET/0yyHkk=; b=IhgqjD6HFDP8bamb/2Qi6OVyriW6zAxmA8fNlpHbXFk+m9ncNbh7W+6d8BjCqbzTWI04HSTWah/u8/gkVMOSX3jdtuzJ3PhhlqQtjGoxpQWkLKP7inq4EADh02sByl+/8jwEACGMhVJzX9h1FTuPr5WbkwaqU6B/7hz7bJn6Lrw= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752954034211.7259857582145; Tue, 22 Oct 2019 07:02:34 -0700 (PDT) Received: from localhost ([::1]:58006 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuk4-0003p3-2H for importer@patchew.org; Tue, 22 Oct 2019 10:02:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37094) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHH-0003JQ-D6 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHG-0001UN-AM for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:47 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:32955) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHG-0001Tw-2o for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:46 -0400 Received: by mail-wr1-x441.google.com with SMTP id s1so9347779wro.0 for ; Tue, 22 Oct 2019 06:32:46 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=btuVklyn5jdYvmT5eZen6ynTwp3atEoaC3ET/0yyHkk=; b=AAGS6PcH5i5GhLBuPsbq2N31XjVBoNao7t+B0p+4rppQ2f6Y1HPQVq4RFVY1R619bc 3f0tS8Afs64qJi03/HNPjrmX6mQVfGv+pEdA4HezyeaDj8UxFeQr0r8uf8yZ01OhYWDD UJ5TGh0TtgPcJ0Kn9p5kISv2trsGeSzhKqarTBiEWUcluW3uArSxV9rNqnGM9plwlXiR YP8tg8zuB1/8qV1gXE08Qh6JrR1UREwfE6hljH5X6UYrLFE99T+HsSnjXL8nKuc75kn/ 1pcacBfAg2Yk4VJkIS7gi2KOODyZwbKTIm+kB0cYGdoaV0DZdJnpSBQPzhBoGEiEk+wP fLfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=btuVklyn5jdYvmT5eZen6ynTwp3atEoaC3ET/0yyHkk=; b=pKTTqchidCmoxQGmJOSUB1uv4ds2Wk2DkmM5vS0TnDF56BVQU6sWvs/F9PI7wDYw4t D2zHcdHA2fF/4HEXJqCehFW92JN/Myb2zQY0Ql03+yrNEgu7Xmr96ZQr7s4Lp0P/s4FP ZNDbynpDR0lM07iti5TGR43eUXz06WdUDeMO92JON+7AYGnxE5eigkDj4DzaUNqfIZ2u b+eW0mzK9oC4Jx0YtGCYlncIZKMc7ABT0xDUWVFA3wgkmj65kacAThOzWDsqa4ve+TGH 8cdHHti6Pyi1rsj95LGlZoG/aZHLZB7JZM7Wc1tqwMCmmq+iFWRWqpJdorUXFTcmQCki qWWA== X-Gm-Message-State: APjAAAXS+0oJLH8DY+NxDS3PmjXFfZcsQyVkKiZxzZRyspI7ulht4kT7 rzxgzjh851Eb6FpUEFI45JjbpqGadFs= X-Google-Smtp-Source: APXvYqydXAya8dE79HY+LIlOk43kEw8Is+CeDQpSPuyRv2Yogr2QB603oXNHPC5WipFS2iEIfSyS9w== X-Received: by 2002:a5d:5392:: with SMTP id d18mr3857792wrv.382.1571751164620; Tue, 22 Oct 2019 06:32:44 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 29/41] target/arm: Rebuild hflags at Xscale SCTLR writes Date: Tue, 22 Oct 2019 14:31:22 +0100 Message-Id: <20191022133134.14487-30-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::441 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" From: Richard Henderson Continue setting, but not relying upon, env->hflags. Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-20-richard.henderson@linaro.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/arm/helper.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/target/arm/helper.c b/target/arm/helper.c index aae7b62458f..c55783e5406 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -4174,6 +4174,16 @@ static void sctlr_write(CPUARMState *env, const ARMC= PRegInfo *ri, /* ??? Lots of these bits are not implemented. */ /* This may enable/disable the MMU, so do a TLB flush. */ tlb_flush(CPU(cpu)); + + if (ri->type & ARM_CP_SUPPRESS_TB_END) { + /* + * Normally we would always end the TB on an SCTLR write; see the + * comment in ARMCPRegInfo sctlr initialization below for why Xsca= le + * is special. Setting ARM_CP_SUPPRESS_TB_END also stops the rebu= ild + * of hflags from the translator, so do it here. + */ + arm_rebuild_hflags(env); + } } =20 static CPAccessResult fpexc32_access(CPUARMState *env, const ARMCPRegInfo = *ri, --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752265; cv=none; d=zoho.com; s=zohoarc; b=dAEblWqXiCom2+3HcMN2rFHzJ1vk7GhH4kvKaC54Gpg/mlD6U0D99uNP6nx1wEq15nOcYIk+9zQREwKd6mOy+seEbZuXua9tnDHbErd1qH0oB+cpG0rUqCLhFT8rOYmSZWT6OvFXiZ8XpNByQu5sVBqzQUNyeJiFAPBZnIKZFSE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752265; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=10Ms0HjDWN7ux33iEvzUyQs1UaAMPIAPE/5GBQG8vsk=; b=XNk/sJJjLQvo0lwTOmNLaEeBpdkQUZ3FyP/p0iSlqmYh0dXxHRU0+VhDGUwhDAercBUxKxJNoCdeSLixfiR8rRZ3ZE6s7gSYKb2X6kXai97xrnf8k6VWVINwKE1LEFK+jp0mb8P9h5AKmfu4qeLYKBfV7DiJHpRLnicrgnK+8fU= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752265416261.8091422789521; Tue, 22 Oct 2019 06:51:05 -0700 (PDT) Received: from localhost ([::1]:57704 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuYy-0006cd-95 for importer@patchew.org; Tue, 22 Oct 2019 09:51:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37122) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHK-0003Mq-69 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHI-0001VG-O7 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:49 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]:35274) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHI-0001V0-Hg for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:48 -0400 Received: by mail-wm1-x330.google.com with SMTP id v9so269352wml.0 for ; Tue, 22 Oct 2019 06:32:48 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=10Ms0HjDWN7ux33iEvzUyQs1UaAMPIAPE/5GBQG8vsk=; b=O8Q9LdAaFMwThqoK/1UDeb4silpc/UPTPfA+lOmrzzvIDvV6OR0Z8xrascGhJLU7t7 dYkx+DvjLWbCUMF1Gp7fMkpr2YabFMIJH9cwA9Lzq8pf+OOJqg/KSYhp21LE/UPOhfrQ e707JGo2xZWzWJaqWH8cFvJyA9GdhzT4M2fnzQec9ZbH4bdlfl41lp8UkpdJkUEe4/Ex ASDaeW9xJX7+4tCvY3f7XM4xX58uG3udRDto8y9wVkwZx43sh9XokM2jr603MgsQMxFA hTBbD5D611pfzwlwpbakjeJsCmeCNN3B04pqr8UsuH3mRG4IACiQF/kILUj6AuMsMckR e7oA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=10Ms0HjDWN7ux33iEvzUyQs1UaAMPIAPE/5GBQG8vsk=; b=W/HeTDJGaYiehp/l19S1yKjPMvAx4d0dMulW/Cp49KY+az3ZW1rjS0aqdYL8H7C0PR xt21/Dt5DmlWr9wD3wOHWnERgovgZZXGqp4p1n+2ayUlcS0eRqUEvKEYjY2Ius0EL4uq KX02+nfVXRSOov1RgfFPMOgskTGi3hNavF524t0dOf2cLa7nlexgxaOzsKsajB0BeKyR YTXTfprnNcg5sV7YtngQaiUoERF6GeL1VnvPzP/TQQxuCHyus2Squ2lO3WZsOrOHEgA8 qxnVHKyYExZEFf+diMPXcmlmlorWvj0SpqNSywKEApnKRm4qm1yyRHXnIgj+gjQIgIsP THNg== X-Gm-Message-State: APjAAAVonYWAW0IQLpd7ku2226aaluEA2SBAOb6bnbTZNW3MxhTwU9Ls ffiqKPsP9/47vVLia6u7XEu/PiHMD/I= X-Google-Smtp-Source: APXvYqwH507K7h86cOhc9VMEFawdv7yzsh/oyGpjNQVW0PV2ub87lJXvQPLL7R/0U3UnsjNPMR0P0A== X-Received: by 2002:a05:600c:1007:: with SMTP id c7mr3221253wmc.41.1571751166943; Tue, 22 Oct 2019 06:32:46 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 30/41] target/arm: Rebuild hflags for M-profile Date: Tue, 22 Oct 2019 14:31:23 +0100 Message-Id: <20191022133134.14487-31-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::330 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson Continue setting, but not relying upon, env->hflags. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-21-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/m_helper.c | 6 ++++++ target/arm/translate.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/target/arm/m_helper.c b/target/arm/m_helper.c index 27cd2f3f964..f2512e448e2 100644 --- a/target/arm/m_helper.c +++ b/target/arm/m_helper.c @@ -494,6 +494,7 @@ void HELPER(v7m_bxns)(CPUARMState *env, uint32_t dest) switch_v7m_security_state(env, dest & 1); env->thumb =3D 1; env->regs[15] =3D dest & ~1; + arm_rebuild_hflags(env); } =20 void HELPER(v7m_blxns)(CPUARMState *env, uint32_t dest) @@ -555,6 +556,7 @@ void HELPER(v7m_blxns)(CPUARMState *env, uint32_t dest) switch_v7m_security_state(env, 0); env->thumb =3D 1; env->regs[15] =3D dest; + arm_rebuild_hflags(env); } =20 static uint32_t *get_v7m_sp_ptr(CPUARMState *env, bool secure, bool thread= mode, @@ -895,6 +897,7 @@ static void v7m_exception_taken(ARMCPU *cpu, uint32_t l= r, bool dotailchain, env->regs[14] =3D lr; env->regs[15] =3D addr & 0xfffffffe; env->thumb =3D addr & 1; + arm_rebuild_hflags(env); } =20 static void v7m_update_fpccr(CPUARMState *env, uint32_t frameptr, @@ -1765,6 +1768,7 @@ static void do_v7m_exception_exit(ARMCPU *cpu) =20 /* Otherwise, we have a successful exception exit. */ arm_clear_exclusive(env); + arm_rebuild_hflags(env); qemu_log_mask(CPU_LOG_INT, "...successful exception return\n"); } =20 @@ -1837,6 +1841,7 @@ static bool do_v7m_function_return(ARMCPU *cpu) xpsr_write(env, 0, XPSR_IT); env->thumb =3D newpc & 1; env->regs[15] =3D newpc & ~1; + arm_rebuild_hflags(env); =20 qemu_log_mask(CPU_LOG_INT, "...function return successful\n"); return true; @@ -1959,6 +1964,7 @@ static bool v7m_handle_execute_nsc(ARMCPU *cpu) switch_v7m_security_state(env, true); xpsr_write(env, 0, XPSR_IT); env->regs[15] +=3D 4; + arm_rebuild_hflags(env); return true; =20 gen_invep: diff --git a/target/arm/translate.c b/target/arm/translate.c index 46a0bf51c95..2ea9da7637b 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -8327,7 +8327,7 @@ static bool trans_MRS_v7m(DisasContext *s, arg_MRS_v7= m *a) =20 static bool trans_MSR_v7m(DisasContext *s, arg_MSR_v7m *a) { - TCGv_i32 addr, reg; + TCGv_i32 addr, reg, el; =20 if (!arm_dc_feature(s, ARM_FEATURE_M)) { return false; @@ -8337,6 +8337,9 @@ static bool trans_MSR_v7m(DisasContext *s, arg_MSR_v7= m *a) gen_helper_v7m_msr(cpu_env, addr, reg); tcg_temp_free_i32(addr); tcg_temp_free_i32(reg); + el =3D tcg_const_i32(s->current_el); + gen_helper_rebuild_hflags_m32(cpu_env, el); + tcg_temp_free_i32(el); gen_lookup_tb(s); return true; } --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571753157; cv=none; d=zoho.com; s=zohoarc; b=SBJ180Pp6ze/8UL70QPi+aepqTNHiIraLe1KfO73QFzGNgTKO6dk2qandi6zwBJeLG9Gq8Rpd4Z4PnpAhtkHoHTkwVrAHXkUR+Cvh7yMuqmdAQKnksrOEul7kw9FCn3j2h1v2I2+th6C3+bQ3ksGpVy0vW/FbVnsuABMrOblYOU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571753157; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=piAMQwhcAMpAuk7COCrPy9dKwgZFmvyHF81YOlRi688=; b=I0UY7CSPIFa0az/PBh9dgB9Ch2mKYop4MZXritvF8gxr2+DaWQTPTKfqQ76OEFp6/DrMto+ofz4FkmqW88yEYsFZaUZnEfO5pHU/KZR21io92s+RniEee0KryQ6KRUJysU22pVzef4FCFSfWSIqdhv2Eh1ykN+P6tyPmkbWMKYY= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571753157021457.62440510916747; Tue, 22 Oct 2019 07:05:57 -0700 (PDT) Received: from localhost ([::1]:58056 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMunL-000875-PJ for importer@patchew.org; Tue, 22 Oct 2019 10:05:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37141) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHM-0003PV-Oo for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHL-0001XF-Iu for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:52 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:41531) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHK-0001Vs-Bb for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:51 -0400 Received: by mail-wr1-x444.google.com with SMTP id p4so18100345wrm.8 for ; Tue, 22 Oct 2019 06:32:50 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=piAMQwhcAMpAuk7COCrPy9dKwgZFmvyHF81YOlRi688=; b=lEJtwjdc53lnShArXMUHC3jKJXou3EzRy/h3gMT3RpOFci2czGRkEUCAfp9K1Qvr4Z NDNIDCBn16GUoCpXpzfja5Y6ENsjnuAXmj82cr3jXI89ZICsnMqJ44LcAvpq6P4ccdFN 0MdizRoJV214kApx+cbx9CwV/uLmeMvwXItuzG0m3mWunRU1RMUInID4fUZ76S5kpAaR Drg9lAa98FC7P9N9cf9CcoKgAKW7PrscbG21Ra0O5xlISvoox7qiz5BEOJrspsSmrETf +d3nbV1q4LA9sZu0KU9uR5EqfKtOe2owJTRKXvFbecqyTdWjMWiNdBz2FCbXf2x65MMB YTvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=piAMQwhcAMpAuk7COCrPy9dKwgZFmvyHF81YOlRi688=; b=DEE/EfndJOtJ+a9W6eo9y0J0Lfc0ENiYQzDs2qC/5zqJxeYeJDr9P5xcp/WDchSThR aLRZja3cLNylYLv8IlTg7edZnLUFWVKCE05AChN7IAU/crAitkKy2joc1tVz375SESu6 oERnQzH8vimuuMIogltDzXEI37PVunzdJFD6OcMfCgjeZKcHQ6dMM831MwZBFh9BL0+L /if4lMviVabyxOWWGTb4StWZP5hv9WRFT+FVM1ne7TxJTpyKbsxXgrNd+xvCdO4ROabm +6NbsyEcdXxMIIVxm2j97bLaiU4p9OveO176brF871kIjfP5XZTeCr+CzSec27kuZW3z LWwA== X-Gm-Message-State: APjAAAV4+cnM78K4ytB5ccQkMLCaB5RNHOGmoX7uhzr2GABD2ojj5BM/ 8j5DCCHmI4L59dJKmNF6AEcRi7HmSe0= X-Google-Smtp-Source: APXvYqxVu4h6S4wa3DcEwQpSLUvbm/XSPfpJTCHnpDUOMz3IXRnQVTRx2IC08y4wcxxEHfKM2PGh+w== X-Received: by 2002:a5d:4885:: with SMTP id g5mr3902834wrq.219.1571751168737; Tue, 22 Oct 2019 06:32:48 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 31/41] target/arm: Rebuild hflags for M-profile NVIC Date: Tue, 22 Oct 2019 14:31:24 +0100 Message-Id: <20191022133134.14487-32-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::444 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" From: Richard Henderson Continue setting, but not relying upon, env->hflags. Suggested-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-22-richard.henderson@linaro.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/intc/armv7m_nvic.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/hw/intc/armv7m_nvic.c b/hw/intc/armv7m_nvic.c index 8e93e51e815..e8c74f9ebaf 100644 --- a/hw/intc/armv7m_nvic.c +++ b/hw/intc/armv7m_nvic.c @@ -2251,7 +2251,7 @@ static MemTxResult nvic_sysreg_write(void *opaque, hw= addr addr, } } nvic_irq_update(s); - return MEMTX_OK; + goto exit_ok; case 0x200 ... 0x23f: /* NVIC Set pend */ /* the special logic in armv7m_nvic_set_pending() * is not needed since IRQs are never escalated @@ -2269,9 +2269,9 @@ static MemTxResult nvic_sysreg_write(void *opaque, hw= addr addr, } } nvic_irq_update(s); - return MEMTX_OK; + goto exit_ok; case 0x300 ... 0x33f: /* NVIC Active */ - return MEMTX_OK; /* R/O */ + goto exit_ok; /* R/O */ case 0x400 ... 0x5ef: /* NVIC Priority */ startvec =3D (offset - 0x400) + NVIC_FIRST_IRQ; /* vector # */ =20 @@ -2281,10 +2281,10 @@ static MemTxResult nvic_sysreg_write(void *opaque, = hwaddr addr, } } nvic_irq_update(s); - return MEMTX_OK; + goto exit_ok; case 0xd18 ... 0xd1b: /* System Handler Priority (SHPR1) */ if (!arm_feature(&s->cpu->env, ARM_FEATURE_M_MAIN)) { - return MEMTX_OK; + goto exit_ok; } /* fall through */ case 0xd1c ... 0xd23: /* System Handler Priority (SHPR2, SHPR3) */ @@ -2299,10 +2299,10 @@ static MemTxResult nvic_sysreg_write(void *opaque, = hwaddr addr, set_prio(s, hdlidx, sbank, newprio); } nvic_irq_update(s); - return MEMTX_OK; + goto exit_ok; case 0xd28 ... 0xd2b: /* Configurable Fault Status (CFSR) */ if (!arm_feature(&s->cpu->env, ARM_FEATURE_M_MAIN)) { - return MEMTX_OK; + goto exit_ok; } /* All bits are W1C, so construct 32 bit value with 0s in * the parts not written by the access size @@ -2322,15 +2322,19 @@ static MemTxResult nvic_sysreg_write(void *opaque, = hwaddr addr, */ s->cpu->env.v7m.cfsr[M_REG_NS] &=3D ~(value & R_V7M_CFSR_BFSR_= MASK); } - return MEMTX_OK; + goto exit_ok; } if (size =3D=3D 4) { nvic_writel(s, offset, value, attrs); - return MEMTX_OK; + goto exit_ok; } qemu_log_mask(LOG_GUEST_ERROR, "NVIC: Bad write of size %d at offset 0x%x\n", size, off= set); /* This is UNPREDICTABLE; treat as RAZ/WI */ + + exit_ok: + /* Ensure any changes made are reflected in the cached hflags. */ + arm_rebuild_hflags(&s->cpu->env); return MEMTX_OK; } =20 --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571753324; cv=none; d=zoho.com; s=zohoarc; b=m7ztEQe3HGIQoyK5lbda5iJ34M12/tJsnaSZ3481OF/4lLbusxzT59bz4avtem+KEIcLntSpTYTThCUnvD8IMdtKDBFOzzP6NczyZ1XpUOdwu84CkSfMubPxf1TbjMVLmqLYNe4po4RC4A7py4CWqWtGJUmeGhmAW7j607MQF+w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571753324; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bAJu0HC72frNdy2Inrafd6Q3Q7w56dol34p5z07V/hc=; b=NCeDCX4/SeoyQUq0GbTCbdd3IS9xm3hwrRXOUCb+aDvZnPzcvRHziUb+CoRRNVDB9HLoi2Kaqacy9sTA8IbDKxvtw4RcXXais6B8lQJ4wwSFvrB3YUaeSK096nKuHzEFLAVcKqvUJ/ByDvFU87rjbnQcwP2jNa4hwy57mZ9DLTU= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 157175332477618.56901040361015; Tue, 22 Oct 2019 07:08:44 -0700 (PDT) Received: from localhost ([::1]:58152 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuq3-0003wV-Nc for importer@patchew.org; Tue, 22 Oct 2019 10:08:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37156) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHO-0003Pi-1D for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHM-0001Xp-Ut for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:53 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:34651) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHM-0001XW-OB for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:52 -0400 Received: by mail-wm1-x341.google.com with SMTP id v3so4016736wmh.1 for ; Tue, 22 Oct 2019 06:32:52 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=bAJu0HC72frNdy2Inrafd6Q3Q7w56dol34p5z07V/hc=; b=Fx3oOz8hVXmznqwlID58U5J+ECC6nChMG4dBPMtJ0XgacjN1sjv6pTt0TxXo/z/6ec I5l5eIpPMF25TeHF9+ojkmdzs3kKVsFdVHkWTQvLGLCP7elcwWcMnl0p8dNUMVWLUVer +RHwTZa05fEfEh5lqcjF8C2DBIUbHqm0HtQSI3w39eVEKs8qaByaFHdxsfrL2gzM5i0I zoB+YEE7bEzxtOBEBj9uQ2/Pz4AZsX3omG+jb+J1tmowqMApjLwb9eBc609T5nvWb+mZ OR91PqNA2iY1RACLJO8L2mFxtUkkIw2EBVMtPjUxJEibsGZpLcQsRMs0AQvi72Fxz5PT C7+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bAJu0HC72frNdy2Inrafd6Q3Q7w56dol34p5z07V/hc=; b=V3DdgqFAI56FHJB0Z3iR7izhLFOGqNWD/iOAhczP3DY+4A0wjmOrHODQ6CBKOqjrly 22q9IFy0PQpxqjx1SX2OjXySX+vk7GYFh+AZ2YFHdcUgH3nNDBcWBK/JEGJB4k0wN7hB w271geN0YgBxzaxoME/PxjdNSbjpKYsyVusKkgdwYe0ozTwj7NlBoUYxKvbV2Ph0r7k5 mZ8d9B5gqUBDg0ghOGxSE53Z+eDXW4uC4WzdOTWKZCZy2zdzyE+GSfGpbjo5ki2hhlPa 2JTTG7Dw7VqlCr0loMYR1I8F5BoeC4qxogxUz7myW3ApgMcYfZg5iVnLus5gsAAB0apR RusQ== X-Gm-Message-State: APjAAAXGSeRwPU7FkVddjvwNLVxb5mkU76FyZCPLWpNztp29DzILEIyb HL2lzXk41ReyoKdyzwYxRZbSMwz60RA= X-Google-Smtp-Source: APXvYqySNU57AN1KrFBXkzI6++zB7X3RZW91hvvHIqZxD2fYtC5ybK2H0gZMuAFcrPO5TPAbE+Cx3g== X-Received: by 2002:a1c:a9cb:: with SMTP id s194mr3311303wme.92.1571751171251; Tue, 22 Oct 2019 06:32:51 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 32/41] target/arm: Rely on hflags correct in cpu_get_tb_cpu_state Date: Tue, 22 Oct 2019 14:31:25 +0100 Message-Id: <20191022133134.14487-33-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::341 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Richard Henderson This is the payoff. From perf record -g data of ubuntu 18 boot and shutdown: BEFORE: - 23.02% 2.82% qemu-system-aar [.] helper_lookup_tb_ptr - 20.22% helper_lookup_tb_ptr + 10.05% tb_htable_lookup - 9.13% cpu_get_tb_cpu_state 3.20% aa64_va_parameters_both 0.55% fp_exception_el - 11.66% 4.74% qemu-system-aar [.] cpu_get_tb_cpu_state - 6.96% cpu_get_tb_cpu_state 3.63% aa64_va_parameters_both 0.60% fp_exception_el 0.53% sve_exception_el AFTER: - 16.40% 3.40% qemu-system-aar [.] helper_lookup_tb_ptr - 13.03% helper_lookup_tb_ptr + 11.19% tb_htable_lookup 0.55% cpu_get_tb_cpu_state 0.98% 0.71% qemu-system-aar [.] cpu_get_tb_cpu_state 0.87% 0.24% qemu-system-aar [.] rebuild_hflags_a64 Before, helper_lookup_tb_ptr is the second hottest function in the application, consuming almost a quarter of the runtime. Within the entire execution, cpu_get_tb_cpu_state consumes about 12%. After, helper_lookup_tb_ptr has dropped to the fourth hottest function, with consumption dropping to a sixth of the runtime. Within the entire execution, cpu_get_tb_cpu_state has dropped below 1%, and the supporting function to rebuild hflags also consumes about 1%. Assertions are retained for --enable-debug-tcg. Tested-by: Alex Benn=C3=A9e Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20191018174431.1784-23-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index c55783e5406..63815fc4cfc 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11259,12 +11259,15 @@ void HELPER(rebuild_hflags_a64)(CPUARMState *env,= int el) void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc, target_ulong *cs_base, uint32_t *pflags) { - uint32_t flags, pstate_for_ss; + uint32_t flags =3D env->hflags; + uint32_t pstate_for_ss; =20 *cs_base =3D 0; - flags =3D rebuild_hflags_internal(env); +#ifdef CONFIG_DEBUG_TCG + assert(flags =3D=3D rebuild_hflags_internal(env)); +#endif =20 - if (is_a64(env)) { + if (FIELD_EX32(flags, TBFLAG_ANY, AARCH64_STATE)) { *pc =3D env->pc; if (cpu_isar_feature(aa64_bti, env_archcpu(env))) { flags =3D FIELD_DP32(flags, TBFLAG_A64, BTYPE, env->btype); --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752429; cv=none; d=zoho.com; s=zohoarc; b=ijwfQTpSgwtA/dU11JM/A7WTwzLmodxzG7Na7yBQfjOixIjnbF5Xu2lqxDTw7nx9EmzAN3uSz0s4ySAJv31jw6aRqrCcJfJ0Pssmq5Tb72ff9orAOtNfQI1wtWMCCgKsx5j4nE+4a/gaBM4Qo4HWGUNeQz2WQKrSmoAlvKNLtsw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752429; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5lY7u62vI3+XxTunjo9vzWs8Uh4wfjIbh9S8L0HAuyI=; b=lL3nGIAd9yfg/sMsrln5tyWoaiXsCAhfCe3IXviDxAyK7GLUzsej6g0IwBiXIvnzrHM74cAd9ceYZ+6cNiGrjekl0OFuwKLtJZm4G14UrMeatIqXuOtgFXvft4G9S0koRqB9ZsD8sLCkTG0fKPR/IIFXuL1GWK9hr3yyqbD+LC4= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752428999944.8879483815195; Tue, 22 Oct 2019 06:53:48 -0700 (PDT) Received: from localhost ([::1]:57774 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMubb-0001zd-7a for importer@patchew.org; Tue, 22 Oct 2019 09:53:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37176) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHQ-0003RC-17 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHO-0001Ye-UH for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:55 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:33287) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHO-0001YO-Ny for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:54 -0400 Received: by mail-wm1-x344.google.com with SMTP id 6so3707781wmf.0 for ; Tue, 22 Oct 2019 06:32:54 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=5lY7u62vI3+XxTunjo9vzWs8Uh4wfjIbh9S8L0HAuyI=; b=YUpnIJVdO6DVIbNG7gztL2UKLuTluVGPT5dZVuHXeqW22Nabtsfzs7SJSphwMf3Q3K SXM7gFBmGc0GlRBXyydypmQ9YSIMtZogEmly1Kq4cMEmZWT+1HRp1w4luYmo2Ae1O4I5 8HIqjwBOhdJOgoTydEOYonGds+0HSL08K2vB8kIMCigQW+uXfTr5pnrjgFQiL+qduo9e ad1eGCkxZ1litqXZzLiZ/GaGcZFv0hjoIfkLprSwXhiDnT9IKr4Iyff/TITdQUXrLudy obTmxblWnIPsTq2CiHpG4sa2eibyzJ8OkpxLNSNdy8BLqyTazZUqJVypPwZldsnP4lta geIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5lY7u62vI3+XxTunjo9vzWs8Uh4wfjIbh9S8L0HAuyI=; b=aPz3K17CX1JUKMoDOgooIXvnaw6gyGDxAMsuAtafEYULOfwHeaf/sUPAx97n4Q09NX KZ6bGL0YMXFsxLSZqgZmJgo35Nw5kVF4IkeCuaDDf9MPdOgyU3l6/TPvQUE6/PPsUS/q Ho2Ksfgap7btLrB9PtRyAa4wUfkr8Ff60vcOJfvhQolzcmW1KU/6Daun9eWfTv4kpXYf 1QDicaNGC/Ky9KekcLb+UB6qAcposRXrj29G9kMbrhxqf7whDHNerWRsn3brdEJoIo0S G1Sdw60Ii9K9YQGGP+HgtpDMIAqrEgwiPVUmRvKaTM32omDDE7G0ag8yelEs0Ep+rl/r egHA== X-Gm-Message-State: APjAAAU+HksDiGLsHyTAH4GRvt/1Ksh2JXrJ+NmSmiP1yyeyZorQ5bC6 piLloxxhEODoZp5e4ITopJEx9LPFtm0= X-Google-Smtp-Source: APXvYqxN9qPuyM9ryWGtcGXi2+1fTh4qGE9WPNQvWPRj+P/k1LI5RPQ1QxvHR6dqd8VYjxvmx3FTNQ== X-Received: by 2002:a1c:c912:: with SMTP id f18mr3296553wmb.168.1571751172991; Tue, 22 Oct 2019 06:32:52 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 33/41] hw/sd/sdhci: Add a comment to distinct the i.MX eSDHC functions Date: Tue, 22 Oct 2019 14:31:26 +0100 Message-Id: <20191022133134.14487-34-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 This file keeps the various QDev blocks separated by comments. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Cleber Rosa Message-id: 20191005154748.21718-3-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/sd/sdhci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index e08ec3e3985..82ec5c1b4a4 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1532,6 +1532,8 @@ static const TypeInfo sdhci_bus_info =3D { .class_init =3D sdhci_bus_class_init, }; =20 +/* --- qdev i.MX eSDHC --- */ + static uint64_t usdhc_read(void *opaque, hwaddr offset, unsigned size) { SDHCIState *s =3D SYSBUS_SDHCI(opaque); @@ -1734,7 +1736,6 @@ usdhc_write(void *opaque, hwaddr offset, uint64_t val= , unsigned size) } } =20 - static const MemoryRegionOps usdhc_mmio_ops =3D { .read =3D usdhc_read, .write =3D usdhc_write, --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571753304; cv=none; d=zoho.com; s=zohoarc; b=Ps0ERV3qk51xIgHiivw/Bq4Y+bDU+ZOxgNNL/K1Jhwsa0ZSpcZfMJ/7ey+FqUKv3NegQ1qnZa3oz9EiEo7QG8WxAdwcVmuXR28gX4UOUvQmbm4t6tipADba6CQe50pe4BuprliZQfbYGj6uCk3CnLJG2AGg+Y1Hr4VobUN36x48= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571753304; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=VQV5FCBK+kBKKN7cw2HOegQIhSxfiRcO/BOW8D/eYOc=; b=XcNp3uHdQ/kjm7joBRUgtuNKTZj5ycJ0RIyijh2L3uNuYqhctWzrDRM6hTTZRJJTjFfMJ+oztjj/jxdfYr6YDrqRIOMnCLI3f4u28wHnOkAjCBQEmlQ0EE8Zag6NxpHKYLZMFWAnOLRpCnHWvvaGgiLSETe30sVx0KSeC+e9Y/A= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571753304763210.8386996073641; Tue, 22 Oct 2019 07:08:24 -0700 (PDT) Received: from localhost ([::1]:58104 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMupj-0003lQ-F3 for importer@patchew.org; Tue, 22 Oct 2019 10:08:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37198) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHS-0003Sh-KU for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHR-0001av-9v for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:58 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:50827) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHR-0001ai-4A for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:57 -0400 Received: by mail-wm1-x343.google.com with SMTP id q13so7252434wmj.0 for ; Tue, 22 Oct 2019 06:32:57 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=VQV5FCBK+kBKKN7cw2HOegQIhSxfiRcO/BOW8D/eYOc=; b=aa5dwVgzlasXISGNrziOqMe0yxooTPHy5i1Q6TRlHvjYDMP3m1drDJQFN5QT/XQv0J 9WZF2/9VgOEZBEvI67MS9D0ub/OvWI+EDO7tg3yqlPSslzkgJczsW6bPKKoIOtgCYIfm ZOGZ+rdXEpA/CVnxtiBvwp+8+7HvnokwkA3B08euaBKszT832A752itu4dL73MkawLN+ ujkdhnxzqRilOiCuktVCY7rwrn0OeiaYqZGikPPAVaB/NWcqga8n+/JQaTtrvW4rTX4u 70H+EYxge9UwJGiUsDURez0ksQl8hN5nBIH4KLl95t3ELhqaKJewia2oqqACskjojHBv AV5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=VQV5FCBK+kBKKN7cw2HOegQIhSxfiRcO/BOW8D/eYOc=; b=n2+tUvlw7nrUvvT4aOIXDtgInAn2m0vrzy4cO5uZFLJ8agOul7uQjYXfYmH4To7a4m KampQsfjmAXU4vlJb3HIG+7cYyOlv6Kh6N2/FjG8V4ZdOWi4yC7l/p7O0ZSF/dIlI/QD xVDK1SKY1PLFzuY4D0VGDRsOcRE5EQfLPNZklbHxJKb1ozaY8QGCsOfmwljbzXFMqvtx IdB8ReMvPLAJoVwp4gRmeG/kBz2D3yO5FgkPBly7AFUoORqYHKPXGAew74u7PmHUhuOI W2qBn2V8tB08uokDffb58ZWKNxxULQCsZwFOvPMzxni4ahABy9sP0ujCUEXuKGzLFN8l eoTQ== X-Gm-Message-State: APjAAAXUqOLQS5RlM8r2bpwCs3mEw7zrsGg8catpB6BqYHcLen9UHiyq 7x3kXfxMMwiLQRYChIcLlipuirtVo/s= X-Google-Smtp-Source: APXvYqzu1qpHbhz8Ocw9Cmci6sLNR9WANJYbGTuDL6ttt63TyE+Uck2IOTN7wnzsEsOsTGEUpWQFAA== X-Received: by 2002:a7b:c924:: with SMTP id h4mr3210630wml.46.1571751175554; Tue, 22 Oct 2019 06:32:55 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 34/41] hw/sd/sdhci: Add dummy Samsung SDHCI controller Date: Tue, 22 Oct 2019 14:31:27 +0100 Message-Id: <20191022133134.14487-35-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::343 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 The Linux kernel access few S3C-specific registers [1] to set some clock. We don't care about this part for device emulation [2]. Add a dummy device to properly ignore these accesses, so we can focus on the important registers missing. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree= /drivers/mmc/host/sdhci-s3c-regs.h?h=3Dcc014f3 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree= /drivers/mmc/host/sdhci-s3c.c?h=3Dv5.3#n263 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Krzysztof Kozlowski Message-id: 20191005154748.21718-4-f4bug@amsat.org Signed-off-by: Peter Maydell --- include/hw/sd/sdhci.h | 2 ++ hw/sd/sdhci.c | 65 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index cbf415e43ab..c6868c96994 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -116,4 +116,6 @@ typedef struct SDHCIState { =20 #define TYPE_IMX_USDHC "imx-usdhc" =20 +#define TYPE_S3C_SDHCI "s3c-sdhci" + #endif /* SDHCI_H */ diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 82ec5c1b4a4..88404d0e9d5 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1761,11 +1761,76 @@ static const TypeInfo imx_usdhc_info =3D { .instance_init =3D imx_usdhc_init, }; =20 +/* --- qdev Samsung s3c --- */ + +#define S3C_SDHCI_CONTROL2 0x80 +#define S3C_SDHCI_CONTROL3 0x84 +#define S3C_SDHCI_CONTROL4 0x8c + +static uint64_t sdhci_s3c_read(void *opaque, hwaddr offset, unsigned size) +{ + uint64_t ret; + + switch (offset) { + case S3C_SDHCI_CONTROL2: + case S3C_SDHCI_CONTROL3: + case S3C_SDHCI_CONTROL4: + /* ignore */ + ret =3D 0; + break; + default: + ret =3D sdhci_read(opaque, offset, size); + break; + } + + return ret; +} + +static void sdhci_s3c_write(void *opaque, hwaddr offset, uint64_t val, + unsigned size) +{ + switch (offset) { + case S3C_SDHCI_CONTROL2: + case S3C_SDHCI_CONTROL3: + case S3C_SDHCI_CONTROL4: + /* ignore */ + break; + default: + sdhci_write(opaque, offset, val, size); + break; + } +} + +static const MemoryRegionOps sdhci_s3c_mmio_ops =3D { + .read =3D sdhci_s3c_read, + .write =3D sdhci_s3c_write, + .valid =3D { + .min_access_size =3D 1, + .max_access_size =3D 4, + .unaligned =3D false + }, + .endianness =3D DEVICE_LITTLE_ENDIAN, +}; + +static void sdhci_s3c_init(Object *obj) +{ + SDHCIState *s =3D SYSBUS_SDHCI(obj); + + s->io_ops =3D &sdhci_s3c_mmio_ops; +} + +static const TypeInfo sdhci_s3c_info =3D { + .name =3D TYPE_S3C_SDHCI , + .parent =3D TYPE_SYSBUS_SDHCI, + .instance_init =3D sdhci_s3c_init, +}; + static void sdhci_register_types(void) { type_register_static(&sdhci_sysbus_info); type_register_static(&sdhci_bus_info); type_register_static(&imx_usdhc_info); + type_register_static(&sdhci_s3c_info); } =20 type_init(sdhci_register_types) --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752459; cv=none; d=zoho.com; s=zohoarc; b=E7qn9pw3Rbz0BD6F2bFAhfod8YtigqK5mK4KuNK/fToRgS02bYEB7juJLsYUD2AB7eUaSSAcHREy/xNUSdDgjPWEIeR7DJ0Hn7eVbO83XikYYH85NH/aofdzMlUEFsHW2UDkGZPjz4IGisdPOK5WFCb67OsJ2rtYbllNu9xZAAs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752459; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=mHOfSzeg99iHQUMRCgLtiz+W3r24W00ST4fut/Vk9N4=; b=MMGQ5vTt0M8J4kbhXfC9UMgxsEAxQ7OjNKv7wrKM8Cl33s/hVQ2W8vHHEEcetvSkdso7NnwJC9J+iiw/acv79FWnPDvZZwSX7xOfC4WQDnf1K91V239mQSodWb4Hq7GcM5fefXAU5gxNM33V+YmxHcZhXGXHK5sp4UvwPSNJ1EM= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752459683186.4432214724592; Tue, 22 Oct 2019 06:54:19 -0700 (PDT) Received: from localhost ([::1]:57794 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuc6-0002eI-63 for importer@patchew.org; Tue, 22 Oct 2019 09:54:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37217) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHU-0003TV-Do for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHT-0001c5-7b for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:00 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:33285) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHT-0001bn-1b for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:32:59 -0400 Received: by mail-wm1-x341.google.com with SMTP id 6so3707928wmf.0 for ; Tue, 22 Oct 2019 06:32:58 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=mHOfSzeg99iHQUMRCgLtiz+W3r24W00ST4fut/Vk9N4=; b=AeKXDNb+/JPvn7em9LceA1KRRhxCZcVj6KjATbNIwZh3JDA7dQFwAhFsgNzPpZgp0z 1j4Kb2pvMJ6xQ/9RH4eppT8Dq8HXTEuDSNeV2P6DmXEaepuZXoGNHpYeBvBqkntktO9r H61PtTDZk8V3xRe2O1QgkjfyZTbljgQ9pSZc16SklAeASid8khp3oMQT7NxsauxXLuCl uaTPpMp7h0z/OhAfHH1YzWWn5pJath/zMSDKvv1ida+VBi832/XdBricEs+gUbwnvHA6 Qg4ubp1Ndurjd1aCjUMk2LdXAq9Bhp5cLbAOEyP7EcwNyegB9jNBaacDEUaOK2zQIYUV 66zA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mHOfSzeg99iHQUMRCgLtiz+W3r24W00ST4fut/Vk9N4=; b=KKFq8uk64PLbCQnY6OlWipEl+JfBVF450EvDT8Kc4EjhYQvy5lsIYPjCbfdy2sl4yl u50+UTywhtiCrU5aEPjE7XSLWJEQeNlDYOEcSjbZjHKKjqkK/I/LWnB1dxaDoCHusr54 WmYR84PVOXXVRgcj1gumuJGEOWdd1u5wJhFD6luqTCvZpvXAoIbf5Q3sDq5UJEKhP3+7 d46MGoOYLiAWNNAWB658F0/rToDHcg62Bj/bA5Flxkbc9G/ID2mAydTRPZVrfZKuP1Ww z8J/pRrtCBve6Xh6xPG+9xW0EQTMqu7yNnRBhZ35K9Er4qY7tvgaEB40gF4fDuZ7MA8E aFHA== X-Gm-Message-State: APjAAAXUTggOJ/3TRbbI5wqNBvHBF1KvTvWHy1TmfxNFWAxKAnFIXnD3 UAbMev/7NRCY7QdWkdAC22v4MtUtU/I= X-Google-Smtp-Source: APXvYqyDzbcysnjcplocArihL7Gn+MTBco/nxSVJSL8JOmE3+b8BkMpRdpoSluRsjLi2F7dB1Jo/mg== X-Received: by 2002:a05:600c:2908:: with SMTP id i8mr3267209wmd.142.1571751177462; Tue, 22 Oct 2019 06:32:57 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 35/41] hw/arm/exynos4210: Use the Samsung s3c SDHCI controller Date: Tue, 22 Oct 2019 14:31:28 +0100 Message-Id: <20191022133134.14487-36-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::341 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 The Exynos SoC has specific SDHCI registers. Use the s3c SDHCI model which handle these specific registers. This silents the following "SDHC ... not implemented" warnings so we can focus on the important registers missing: $ qemu-system-arm ... -d unimp \ -append "... root=3D/dev/mmcblk0 rootfstype=3Dext4 rw rootwait" \ -drive file=3Dlinux-build-test/rootfs/arm/rootfs-armv5.ext2,if=3Dsd,for= mat=3Draw [...] [ 25.744858] sdhci: Secure Digital Host Controller Interface driver [ 25.745862] sdhci: Copyright(c) Pierre Ossman [ 25.783188] s3c-sdhci 12530000.sdhci: clock source 2: mmc_busclk.2 (12= 000000 Hz) SDHC rd_4b @0x80 not implemented SDHC wr_4b @0x80 <- 0x00000020 not implemented SDHC wr_4b @0x8c <- 0x00030000 not implemented SDHC rd_4b @0x80 not implemented SDHC wr_4b @0x80 <- 0xc0004100 not implemented SDHC wr_4b @0x84 <- 0x80808080 not implemented [ 26.013318] mmc0: SDHCI controller on samsung-hsmmc [12530000.sdhci] u= sing ADMA [ 26.032318] Synopsys Designware Multimedia Card Interface Driver [ 42.024885] Waiting for root device /dev/mmcblk0... Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Krzysztof Kozlowski Message-id: 20191005154748.21718-5-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/arm/exynos4210.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/arm/exynos4210.c b/hw/arm/exynos4210.c index a9f8a5c8688..77fbe1baabc 100644 --- a/hw/arm/exynos4210.c +++ b/hw/arm/exynos4210.c @@ -405,7 +405,7 @@ static void exynos4210_realize(DeviceState *socdev, Err= or **errp) * public datasheet which is very similar (implementing * MMC Specification Version 4.0 being the only difference noted) */ - dev =3D qdev_create(NULL, TYPE_SYSBUS_SDHCI); + dev =3D qdev_create(NULL, TYPE_S3C_SDHCI); qdev_prop_set_uint64(dev, "capareg", EXYNOS4210_SDHCI_CAPABILITIES= ); qdev_init_nofail(dev); =20 --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571753527; cv=none; d=zoho.com; s=zohoarc; b=TCyLbrvXmtbndSpVdmkekzJRT40giLjcCvAV7AMwaUqXQXcXZjA6EqdS4yd05qCh1XEQ0o5J9rx7rN/aLwekxgMHs5NowaWfEd84dzOY2bsXYzPjwBUzkfVh+808FAPg+/ipsVOQZEwU37CMHp7jc6vXc4KXira3ABzyNdNdC9I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571753527; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Jd3gjjSWtiLGtLKohxwgc1UFQoof9TDDl8oztxXNFqQ=; b=OfNMoX59dWLNyHwM9Iw/7fWvatj1nV9DN1G3Eh7s1TTju/FzsCTDXy4QFABZcYTk0HPiKs6JIV5q05e2ODFnOPO2GD2lt1nomPElm+WOmQ5ItTz4GLLjNU5KhOaUOvOq5H4IoA9E2djgR6IBgSIh/1nPuEpz7K5DBiXs8xp7Ggw= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571753527077163.24397997999222; Tue, 22 Oct 2019 07:12:07 -0700 (PDT) Received: from localhost ([::1]:58262 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMutI-0000Hk-MI for importer@patchew.org; Tue, 22 Oct 2019 10:12:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37235) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHX-0003VL-Tt for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHW-0001co-D4 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:03 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:33271) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHV-0001cZ-Jd for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:01 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 6so3708024wmf.0 for ; Tue, 22 Oct 2019 06:33:01 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:32:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Jd3gjjSWtiLGtLKohxwgc1UFQoof9TDDl8oztxXNFqQ=; b=GwZdJvg5FUQVJs1LfZXvvJwFzBJPINVeTHUqKabr2umrRLjo0Sf4iolcKZSUyevr0M 0SGrwt37ht94rEC9M8AcpnP6lM5JIpJzOFVsMrf3kd/bRu0RQ6kVi+Ecd7cXzcUA5zow j2KHR5BAbzmuHjToVfU1aj7p2YJ7D1zw7v4E8J88pSMYo8KoA7bgCWqtG5B1C6R8rR9K 9uBSdi8IyZCz78CDIq6uSoVaRYOwPxlxBIe3ewyfCyKRr60G2I5BJINDrXL4RpRFRH/b zmt0UHhTs5XE+w3fDE5QgZlfPjvi+cXsPjZVpxD3SAVSeNw0JtRLU1zriey9bh0ypU78 oJmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Jd3gjjSWtiLGtLKohxwgc1UFQoof9TDDl8oztxXNFqQ=; b=Mw3SeyFxKCvWE+Hor/rKdDNhLh7/h36HjrHjJzaInOqN1KTg5saTqVc1SO30JcE/I/ V+9C/sNVqtXPnqHyN1jGLBtg0KYI0SFu7S0IBGvCl8vjVGIxATXmy2aLdI7g/Gqt+XAJ dVSAezyukfDTBL6Frm5+9iTf/BNqB8RsMROhOOn1oUQMnWV7iHeajGbT4ZnzZGlMW5Xg mcIsT9qeFL8SJ+UJ16x73KOuzgJtyufF9ItbhRZWZxGZJxKXN2fN+wGo47/QxSjcZqB1 YgDH1J6EwwsqK01n6OqbWiOMxZuKZ+b10c+Jzl8LurB9dN4mSjRL295kCtkHHO198geM ZxEQ== X-Gm-Message-State: APjAAAXULv8/ddHzLiovjAYd9UczKim0ycBX7DWUqd3sLA4L8IWEPFWc rcWPpJXUkNkqOA/JtkQ/7wIr22bs+og= X-Google-Smtp-Source: APXvYqz/ld1ZMXJNy9SHnmM5pQInHhxitRPBUaUOuYXTNkrTHnZw67sS+M+TqW43DhaLzZ4foZa34g== X-Received: by 2002:a1c:7d95:: with SMTP id y143mr3202507wmc.143.1571751179739; Tue, 22 Oct 2019 06:32:59 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 36/41] hw/arm/xilinx_zynq: Use the IEC binary prefix definitions Date: Tue, 22 Oct 2019 14:31:29 +0100 Message-Id: <20191022133134.14487-37-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32e X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 IEC binary prefixes ease code review: the unit is explicit. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-id: 20191021190653.9511-2-philmd@redhat.com Signed-off-by: Peter Maydell --- hw/arm/xilinx_zynq.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c index c14774e542c..3a0fa5b23f7 100644 --- a/hw/arm/xilinx_zynq.c +++ b/hw/arm/xilinx_zynq.c @@ -16,6 +16,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/units.h" #include "qapi/error.h" #include "cpu.h" #include "hw/sysbus.h" @@ -194,7 +195,7 @@ static void zynq_init(MachineState *machine) memory_region_add_subregion(address_space_mem, 0, ext_ram); =20 /* 256K of on-chip memory */ - memory_region_init_ram(ocm_ram, NULL, "zynq.ocm_ram", 256 << 10, + memory_region_init_ram(ocm_ram, NULL, "zynq.ocm_ram", 256 * KiB, &error_fatal); memory_region_add_subregion(address_space_mem, 0xFFFC0000, ocm_ram); =20 --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571753488; cv=none; d=zoho.com; s=zohoarc; b=UIx40GSunuGrVHtPmrGT0Bb0NEnijIH5W0UP42dooB0+nE7XwBJ+8UkQkdG1rYWP/9rkWoK5NPoOkGJSTsjwoJqaE35NxleBxFNulatDHYAXElhlODJLgEAd9wbBpIaVmjSm2CyjhAWHHYqWjmhhCfnP6OhZzHWpFTOwnna2tqk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571753488; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=IoXcmOl+RMmkT7xPfub9s2J7YQU8S0ooN19xanzMCEA=; b=oaTXrbDX8KSW9qN8raJE07sHmeW31PvoCDUVnqtKFClI6tGOeA3o9Fu8aBCx10KQMQc6somTZ1FxOxmS3oOITQj/tgVVbDgP88iCia6UwUNJcL6vwymnTSlAlKUnGtvHtIi7XWs4y8J50X8Q7zUdN6QpTxIRNRlWw/mRxO3Bk8M= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571753488842959.9399293415414; Tue, 22 Oct 2019 07:11:28 -0700 (PDT) Received: from localhost ([::1]:58216 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMusg-0007di-0I for importer@patchew.org; Tue, 22 Oct 2019 10:11:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37268) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHk-0003YB-4G for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHc-0001eb-Ja for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:12 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:55029) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHY-0001dC-Tp for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:06 -0400 Received: by mail-wm1-x32d.google.com with SMTP id p7so17325574wmp.4 for ; Tue, 22 Oct 2019 06:33:04 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.32.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:33:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=IoXcmOl+RMmkT7xPfub9s2J7YQU8S0ooN19xanzMCEA=; b=OmebtgvYfFM4G3zMSBEEYA9Etqke1bPa1zLFy6PcQKqN0ojX9UXs8KFWEa3mt2E3n5 wqhodWjJaQOAvRhAiNFA197qw+S1LgSY+SDy1WNFMpI/VxrKqXIv1HzBMUyB+IB2fEOY C6D73JvNeBO2AC+Ky/+AHtXM2CdURi6kyQddELiZslB+6nrDcSM+rbA6ebX8BSUbLLCK oIX0q+7qhPylaxQnSq98Ne5OJHINHS/kjAveeriaQDikkux405GKRKlRFxaR0QMD2z8g FSU23T76IunPp2WVNay+dajnvMPyOAp6vRPjuXPZBU199pYX6YHruBTAqMIT3YejsVFH XgpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IoXcmOl+RMmkT7xPfub9s2J7YQU8S0ooN19xanzMCEA=; b=DKuPQr3rh+ZQ6w+uhEhv2AhJBuULzGHha3364jPrsvEjXtjK0wlBFlBsGgqazKS8pP Goiu0MI0lA3mjx9cHfxSO0CnCqoCaDMeSd8mKUX8Q/U36+QyJORVp3fHdG8NVFZnoJEf cOBcf/Bms8z5mAv8nAD08B/IuhoAxIRztc4WEbrzkt4KK0M5KWXWNdR3yEXP2VcsVivK oXRzwAsN3VUA7vOYVfSeMHQlITmUhon4g26lub/4ftpPA5VOgqn3FG2wji3VGRh1ImMe 3VFLwn9cR+Q/IIH6lgFH8EEHbM0V8uCYiESXZKVOSEbOwcLOmUgN482v+Z1I2UU4RDqc hEEA== X-Gm-Message-State: APjAAAUOyNnSjCv73bobdN+rLLg7qI1aUvPIYJ8SdS5mn15GWcPIi1Xc 265Cuho62pmAMLL8u4O+ErA73/r71Ew= X-Google-Smtp-Source: APXvYqyXTfOk3hgQWVxA9NU2IlEy9XlKXsor8G+O26cLhvF4+nKMr7YOkf1GVoTYKcCqThcoqcDSWA== X-Received: by 2002:a05:600c:214:: with SMTP id 20mr3183868wmi.45.1571751182209; Tue, 22 Oct 2019 06:33:02 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 37/41] hw/arm/mps2: Use the IEC binary prefix definitions Date: Tue, 22 Oct 2019 14:31:30 +0100 Message-Id: <20191022133134.14487-38-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32d X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 IEC binary prefixes ease code review: the unit is explicit. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-id: 20191021190653.9511-3-philmd@redhat.com Signed-off-by: Peter Maydell --- hw/arm/mps2-tz.c | 3 ++- hw/arm/mps2.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c index 6b24aaacded..f8b620bcc65 100644 --- a/hw/arm/mps2-tz.c +++ b/hw/arm/mps2-tz.c @@ -38,6 +38,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/units.h" #include "qapi/error.h" #include "qemu/error-report.h" #include "hw/arm/boot.h" @@ -458,7 +459,7 @@ static void mps2tz_common_init(MachineState *machine) * call the 16MB our "system memory", as it's the largest lump. */ memory_region_allocate_system_memory(&mms->psram, - NULL, "mps.ram", 0x01000000); + NULL, "mps.ram", 16 * MiB); memory_region_add_subregion(system_memory, 0x80000000, &mms->psram); =20 /* The overflow IRQs for all UARTs are ORed together. diff --git a/hw/arm/mps2.c b/hw/arm/mps2.c index 10efff36b23..d002b126d39 100644 --- a/hw/arm/mps2.c +++ b/hw/arm/mps2.c @@ -23,6 +23,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/units.h" #include "qapi/error.h" #include "qemu/error-report.h" #include "hw/arm/boot.h" @@ -146,7 +147,7 @@ static void mps2_common_init(MachineState *machine) * zbt_boot_ctrl is always zero). */ memory_region_allocate_system_memory(&mms->psram, - NULL, "mps.ram", 0x1000000); + NULL, "mps.ram", 16 * MiB); memory_region_add_subregion(system_memory, 0x21000000, &mms->psram); =20 switch (mmc->fpga_type) { --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752673; cv=none; d=zoho.com; s=zohoarc; b=D8I5Jwf78fa+AiJqcduVfBE9PNRhpszxLdLI3AC1Zx8KEi8vN2iT6iH0JunhpabmpIJySAmSB+im7YmFWHPtp8dR9gc4dPMsxuLdMuTbAxRYsVVt/cRWSCl95OoqETlYCWiN1NY6+3P3zrjDp097iLGlFqw0SpJquM3ru9RdBOA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752673; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bRVLYeRm52S1+mDtVEVVM44iNY6mCQd1H1UdrE+pTLs=; b=CsSb0Qbyx2+CPsj69t7v+WT1YiiEyKhzu72ibeGCwMBXiRwD3Rj2XB5CbVKCfYUkL8Qc5vcOpD+JfXLcrsrzaZiF+dqKFOOAh5sRgqHlKN7vLkoR8Vyecgzh8W5z9lDRT1RN9FZU3WG6KWewWKlCGchiVgA4faLK72OC/PiZtes= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752673362438.762200217688; Tue, 22 Oct 2019 06:57:53 -0700 (PDT) Received: from localhost ([::1]:57850 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMufX-0006Vc-Sv for importer@patchew.org; Tue, 22 Oct 2019 09:57:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37270) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHk-0003YD-4c for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHc-0001ej-Km for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:12 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:36789) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHa-0001dl-L9 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:08 -0400 Received: by mail-wm1-x32e.google.com with SMTP id c22so7082397wmd.1 for ; Tue, 22 Oct 2019 06:33:05 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.33.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:33:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=bRVLYeRm52S1+mDtVEVVM44iNY6mCQd1H1UdrE+pTLs=; b=LgDtlhSZioQxUUTVC1mfFG86hTFQAyL6xIokL7y8ZSzU4DyCWYPAjkB8kj/yLJL+9Q veRnnNdKfF4Eef0g+MOsWuG/NwTyhK7J+UyLdjHCtIig76QRRNhATxHXabVB2SLFlIrN Hj9vRaYDghamRHpXUO+bBHhknMD4m04mfpFe+KCNsqAses9MABB2zQaPkn+s0ECoaFyp h8agvjWdLiGE+Dui8R1aSRicWvJL9W5EQpVWeE/FV8kLENn/69qb/w9GLRbglhFitkfX P7kRQ0jR/iucIXIJPM8GoG4g2STmOJeyWyjOP95e/tDZZZegY04bP/mKIoyJbn4Gc6n+ D/8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bRVLYeRm52S1+mDtVEVVM44iNY6mCQd1H1UdrE+pTLs=; b=dVXyOcA0mBJm52i4dtwIjLSRueh1cubWCVCopKyJA5vLSdsYS3EcGe7muyTfY4SAIN 8yGvVADFudjnC74CZXEoJFUuSnuH1nSgKVyG3jNsyh16hOyVxWhyyba0x1ydo3IyayY0 tf4zI5DVhMXJvOlc8Y2eepQaxnnin74ySsvWMiwyjOKHe3+E8vr62SPMrrta+BsuZMZr wHCGF/lmHBUPbe4/lyz0thXtGQ8g+Rj16wAyIWUmDqowJeFBsXZd/EwLFBVNsbNRjEwT m6K5JL6LSRoy7DrQG4gz63kvK7Mws7fdFMojj4/UB7Bqgwcu4BdpkPk1B8hhfzyBJNoF Ty/g== X-Gm-Message-State: APjAAAXKHryWp8FMX8NNyRVygK2ySquH+MaPoMPWr3gugOMc3WZPpoz5 VLX9KAPedkdDFfHcQiEVF2dg1dUDtsI= X-Google-Smtp-Source: APXvYqzPTqVXxjA58+KIfjw82PbGByEnf/dXl5hOh0oMVAtmYSMCUsOP7+yIUxADILGTKnD9/AeFJA== X-Received: by 2002:a7b:c186:: with SMTP id y6mr3252813wmi.67.1571751184274; Tue, 22 Oct 2019 06:33:04 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 38/41] hw/arm/collie: Create the RAM in the board Date: Tue, 22 Oct 2019 14:31:31 +0100 Message-Id: <20191022133134.14487-39-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32e X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 The SDRAM is incorrectly created in the SA1110 SoC. Move its creation in the board code, this will later allow the board to have the QOM ownership of the RAM. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-id: 20191021190653.9511-4-philmd@redhat.com Signed-off-by: Peter Maydell --- hw/arm/strongarm.h | 4 +--- hw/arm/collie.c | 8 ++++++-- hw/arm/strongarm.c | 7 +------ 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/hw/arm/strongarm.h b/hw/arm/strongarm.h index e98840b461a..192821f6aab 100644 --- a/hw/arm/strongarm.h +++ b/hw/arm/strongarm.h @@ -55,7 +55,6 @@ enum { =20 typedef struct { ARMCPU *cpu; - MemoryRegion sdram; DeviceState *pic; DeviceState *gpio; DeviceState *ppc; @@ -63,7 +62,6 @@ typedef struct { SSIBus *ssp_bus; } StrongARMState; =20 -StrongARMState *sa1110_init(MemoryRegion *sysmem, - unsigned int sdram_size, const char *rev); +StrongARMState *sa1110_init(const char *cpu_type); =20 #endif diff --git a/hw/arm/collie.c b/hw/arm/collie.c index b1288ccea80..970a4405ccf 100644 --- a/hw/arm/collie.c +++ b/hw/arm/collie.c @@ -27,9 +27,13 @@ static void collie_init(MachineState *machine) { StrongARMState *s; DriveInfo *dinfo; - MemoryRegion *sysmem =3D get_system_memory(); + MemoryRegion *sdram =3D g_new(MemoryRegion, 1); =20 - s =3D sa1110_init(sysmem, collie_binfo.ram_size, machine->cpu_type); + s =3D sa1110_init(machine->cpu_type); + + memory_region_allocate_system_memory(sdram, NULL, "strongarm.sdram", + collie_binfo.ram_size); + memory_region_add_subregion(get_system_memory(), SA_SDCS0, sdram); =20 dinfo =3D drive_get(IF_PFLASH, 0, 0); pflash_cfi01_register(SA_CS0, "collie.fl1", 0x02000000, diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c index dc65d88a657..6bee0349149 100644 --- a/hw/arm/strongarm.c +++ b/hw/arm/strongarm.c @@ -1586,8 +1586,7 @@ static const TypeInfo strongarm_ssp_info =3D { }; =20 /* Main CPU functions */ -StrongARMState *sa1110_init(MemoryRegion *sysmem, - unsigned int sdram_size, const char *cpu_type) +StrongARMState *sa1110_init(const char *cpu_type) { StrongARMState *s; int i; @@ -1601,10 +1600,6 @@ StrongARMState *sa1110_init(MemoryRegion *sysmem, =20 s->cpu =3D ARM_CPU(cpu_create(cpu_type)); =20 - memory_region_allocate_system_memory(&s->sdram, NULL, "strongarm.sdram= ", - sdram_size); - memory_region_add_subregion(sysmem, SA_SDCS0, &s->sdram); - s->pic =3D sysbus_create_varargs("strongarm_pic", 0x90050000, qdev_get_gpio_in(DEVICE(s->cpu), ARM_CPU_IRQ), qdev_get_gpio_in(DEVICE(s->cpu), ARM_CPU_FIQ), --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571752656; cv=none; d=zoho.com; s=zohoarc; b=Is5YjxEkYmuASXK9DqXasEnw46dF/+AFmHRDM0MxFrZWxV8UQoiC0zY4HPcHkLL0hZ5Gkpa/RFRSQJq0mFoAqGbK+oMPEH3Fr+Iu9Q1iFIzu4FA9Nt9uOkaCH6kiwVs0Ajl9QlRc7CyB5z0TKP4RywBeW0lCMCWoi6L3sdPU8jc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752656; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=fMt1yXYtkl6zou9KhMTTPZc3Shey7XPrKQCkblw9TjE=; b=lgXS/P58V0mOeh6tClUJNJCXMhFLKieMLL7AzOGavaDXhLHxVpLsDGeZ6UL+TKWfCO5JT5EGrbp2k3zKg/XlrYFOMSc8HvAgqXYVSW87dAyrIScmi+WFG7Cgk7PYsfmTJsNhqzJdutXAK/vyBfpghuyAsYwJZZckl+LZZWYlFI4= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571752656270681.8927401646135; Tue, 22 Oct 2019 06:57:36 -0700 (PDT) Received: from localhost ([::1]:57838 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMufG-00064X-Vx for importer@patchew.org; Tue, 22 Oct 2019 09:57:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37287) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHo-0003Yr-2n for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHk-0001gG-3G for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:19 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:38884) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHc-0001eC-Kp for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:10 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 3so16201096wmi.3 for ; Tue, 22 Oct 2019 06:33:08 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.33.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:33:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=fMt1yXYtkl6zou9KhMTTPZc3Shey7XPrKQCkblw9TjE=; b=Tb8zhrNKre8VAtq1yNL+5h+vGFzBdfJmbIDmMKRI9jOcYvFBwvbPNv8sn9GwnfpPMd M8c64/b7ALFRgO2pMKzn87Z3zSbGsDKIB6/OTPuhoQghcVWtOzSItOgAp9Kg7wsqc7+c AfMJLPD6kZositvV5wAJisOAkCnzygJEUNX6tliLrr3owYJxScHtmf5XT5RjPR2/y7tx mFLj7S9bhRREhisXNETN+7nY5v9Gre4mCQ2PLfsUrWq+PdXkzYDPdSYhq4v5Dmv00HEv 0G3rdCxkIHcKjP4XX25A7tZn25nsbdjTNAyuDa4CQGH3yjGIYsxvupfNgg5SrH0v8iwR mdxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fMt1yXYtkl6zou9KhMTTPZc3Shey7XPrKQCkblw9TjE=; b=BtFFXrOgnkQBuLmCckRhC8+PY9DZHCP3sWqTksPinPXfOgNRgTTmo0qFzCYx6oQuGn 2Qot6bHx41PTkW7/R4TaYUYmalFJkOo4fVptiC6bskGcgqKqUEn2JgyeaujBXwXnFRus y+aXvrKXK8Y6cdx5ERzdKS+h0J+8PCkUQfmDIYIAiG3y809m8PL09a/l5DQ0FtBVLTi1 +75VvBNS8JUzHbql73hmpdARKBhZWDvrbbw2IatSnK4ym0gpKi7PZ2/cVgm5pMK0Fz7/ XxvHFIOFBaYE1yXD5CDfoJKjwP4ZgbKfanb5Rvjcv5ACTlT+D1HEYSWiV0thvQ47cBkq fNEg== X-Gm-Message-State: APjAAAXINXUvor4iWOIHYpJ0Y7OH5jB9LSPDPz81qW8Il4cvfwCS+EDE nNhBHRKm/zALUzDAabvu5HrphNvUv+8= X-Google-Smtp-Source: APXvYqxwucb4BW0dcCa8o1q7wcuwaKApPqGNAtOKVf4BNe6xqeX4lVjy3RTBkdwnrsMWQl1LolDz9A== X-Received: by 2002:a1c:7fd8:: with SMTP id a207mr2751581wmd.10.1571751186680; Tue, 22 Oct 2019 06:33:06 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 39/41] hw/arm/omap2: Create the RAM in the board Date: Tue, 22 Oct 2019 14:31:32 +0100 Message-Id: <20191022133134.14487-40-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32c X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 The SDRAM is incorrectly created in the OMAP2420 SoC. Move its creation in the board code, this will later allow the board to have the QOM ownership of the RAM. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-id: 20191021190653.9511-5-philmd@redhat.com Signed-off-by: Peter Maydell --- include/hw/arm/omap.h | 4 +--- hw/arm/nseries.c | 10 +++++++--- hw/arm/omap2.c | 13 +++++-------- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/include/hw/arm/omap.h b/include/hw/arm/omap.h index 2fda9966484..763d8eab4fa 100644 --- a/include/hw/arm/omap.h +++ b/include/hw/arm/omap.h @@ -824,7 +824,6 @@ struct omap_mpu_state_s { MemoryRegion tap_iomem; MemoryRegion imif_ram; MemoryRegion emiff_ram; - MemoryRegion sdram; MemoryRegion sram; =20 struct omap_dma_port_if_s { @@ -938,8 +937,7 @@ struct omap_mpu_state_s *omap310_mpu_init(MemoryRegion = *system_memory, const char *core); =20 /* omap2.c */ -struct omap_mpu_state_s *omap2420_mpu_init(MemoryRegion *sysmem, - unsigned long sdram_size, +struct omap_mpu_state_s *omap2420_mpu_init(MemoryRegion *sdram, const char *core); =20 uint32_t omap_badwidth_read8(void *opaque, hwaddr addr); diff --git a/hw/arm/nseries.c b/hw/arm/nseries.c index a36971d39aa..7e361936a9d 100644 --- a/hw/arm/nseries.c +++ b/hw/arm/nseries.c @@ -47,6 +47,7 @@ =20 /* Nokia N8x0 support */ struct n800_s { + MemoryRegion sdram; struct omap_mpu_state_s *mpu; =20 struct rfbi_chip_s blizzard; @@ -1311,11 +1312,14 @@ static int n810_atag_setup(const struct arm_boot_in= fo *info, void *p) static void n8x0_init(MachineState *machine, struct arm_boot_info *binfo, int model) { - MemoryRegion *sysmem =3D get_system_memory(); struct n800_s *s =3D (struct n800_s *) g_malloc0(sizeof(*s)); - int sdram_size =3D binfo->ram_size; + uint64_t sdram_size =3D binfo->ram_size; =20 - s->mpu =3D omap2420_mpu_init(sysmem, sdram_size, machine->cpu_type); + memory_region_allocate_system_memory(&s->sdram, NULL, "omap2.dram", + sdram_size); + memory_region_add_subregion(get_system_memory(), OMAP2_Q2_BASE, &s->sd= ram); + + s->mpu =3D omap2420_mpu_init(&s->sdram, machine->cpu_type); =20 /* Setup peripherals * diff --git a/hw/arm/omap2.c b/hw/arm/omap2.c index bd7ddff9831..457f152baca 100644 --- a/hw/arm/omap2.c +++ b/hw/arm/omap2.c @@ -22,6 +22,7 @@ #include "qemu/error-report.h" #include "qapi/error.h" #include "cpu.h" +#include "exec/address-spaces.h" #include "sysemu/blockdev.h" #include "sysemu/qtest.h" #include "sysemu/reset.h" @@ -2276,8 +2277,7 @@ static const struct dma_irq_map omap2_dma_irq_map[] = =3D { { 0, OMAP_INT_24XX_SDMA_IRQ3 }, }; =20 -struct omap_mpu_state_s *omap2420_mpu_init(MemoryRegion *sysmem, - unsigned long sdram_size, +struct omap_mpu_state_s *omap2420_mpu_init(MemoryRegion *sdram, const char *cpu_type) { struct omap_mpu_state_s *s =3D g_new0(struct omap_mpu_state_s, 1); @@ -2286,11 +2286,11 @@ struct omap_mpu_state_s *omap2420_mpu_init(MemoryRe= gion *sysmem, int i; SysBusDevice *busdev; struct omap_target_agent_s *ta; + MemoryRegion *sysmem =3D get_system_memory(); =20 /* Core */ s->mpu_model =3D omap2420; s->cpu =3D ARM_CPU(cpu_create(cpu_type)); - s->sdram_size =3D sdram_size; s->sram_size =3D OMAP242X_SRAM_SIZE; =20 s->wakeup =3D qemu_allocate_irq(omap_mpu_wakeup, s, 0); @@ -2299,9 +2299,6 @@ struct omap_mpu_state_s *omap2420_mpu_init(MemoryRegi= on *sysmem, omap_clk_init(s); =20 /* Memory-mapped stuff */ - memory_region_allocate_system_memory(&s->sdram, NULL, "omap2.dram", - s->sdram_size); - memory_region_add_subregion(sysmem, OMAP2_Q2_BASE, &s->sdram); memory_region_init_ram(&s->sram, NULL, "omap2.sram", s->sram_size, &error_fatal); memory_region_add_subregion(sysmem, OMAP2_SRAM_BASE, &s->sram); @@ -2338,8 +2335,8 @@ struct omap_mpu_state_s *omap2420_mpu_init(MemoryRegi= on *sysmem, s->port->addr_valid =3D omap2_validate_addr; =20 /* Register SDRAM and SRAM ports for fast DMA transfers. */ - soc_dma_port_add_mem(s->dma, memory_region_get_ram_ptr(&s->sdram), - OMAP2_Q2_BASE, s->sdram_size); + soc_dma_port_add_mem(s->dma, memory_region_get_ram_ptr(sdram), + OMAP2_Q2_BASE, memory_region_size(sdram)); soc_dma_port_add_mem(s->dma, memory_region_get_ram_ptr(&s->sram), OMAP2_SRAM_BASE, s->sram_size); =20 --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571753897; cv=none; d=zoho.com; s=zohoarc; b=mCNXv2VcAzNKNxmxO9DqX+Gk0gjoSPztQCYGDR5lVPhaXOlyv0dDw9lmu3AibrRWooQbi2kbHuAbylWmNpIRQ1kGIiEAS7vD1qzUUzeXjQaRODbBFZKAqhWZC8nhO398OGLXc10lGpPjA8OVjb8HAljPVWhJTzlHmCn88Duwdz0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571753897; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=35JGdkX+Qbs+3j0Y2Ds4qNx/4PsRHF6QNmtmflqtCQ0=; b=VcYNH0XVgFbNF+9kuHEFDQNjSLZpkSeR84+4jIuRKrUPzyOmgzMNpXpeBeVB+mNdY4Gy4HUSM3cb54HQg7ZBDv1U8RuJHfsG3CDQMlgP8D/yzI8bsu5IlK7JlQXO/gS8AFlO91jTD97eioMKTs894WHWYsFAscw5LsmhaJofqB4= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571753897000785.2966742202652; Tue, 22 Oct 2019 07:18:17 -0700 (PDT) Received: from localhost ([::1]:58532 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuzH-0007sG-PY for importer@patchew.org; Tue, 22 Oct 2019 10:18:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37330) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHq-0003Zs-DD for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHo-0001hp-AC for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:22 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:46977) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHo-0001f4-3e for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:20 -0400 Received: by mail-wr1-x42c.google.com with SMTP id n15so7303500wrw.13 for ; Tue, 22 Oct 2019 06:33:10 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.33.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:33:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=35JGdkX+Qbs+3j0Y2Ds4qNx/4PsRHF6QNmtmflqtCQ0=; b=hT31gfl90dmpUk4jbJJ54inUhmDZn0UyovEp/TFIhF20BPiQGYATjaAoI+Dx3sEZ7T rNs82uCPbpuD+NK2JuMhT5Em50N4b80Wggx4zXr0LlYYvGgngieZ2hvzWpEvNAjzaWHw 7JO+FBOgs5skcyehvzdXxwnun2HVHowtnbPbUmK1tM+tgb8RYqvwmeDcH7DktERf4puR gZ5l6N809MDG5gigXwNIK1go3hIUYgioYaN7TaEYt9I1ZBTVZu+3HGgOJBIwrhwrYoz2 3GkluQjLUrrJeb32tojhKFruqzmiyB0BKJTYmonjZ5L55kxcTkAOetGyjQDjhuZG+CK6 DpCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=35JGdkX+Qbs+3j0Y2Ds4qNx/4PsRHF6QNmtmflqtCQ0=; b=B+Y4BT4+AxIWPx/QG+my7/Sj+/Gm2phjSTUZ8DYOMJlrZrc5jN6+U9BbwL983O/EVj wDRGSmIXq1A1dwdI7nUJ/NVyJs82TN+33xXD/9ZmESatKFvCdiiOWPuojg7TAueSUhBL QwIwK4wYz9wiPmL8o2nbFAsMi2GQsjBB0TsC7ent+Ky1rEtzqWaCP/EtlVeylEctG93l WPnR4HuBzWNkBmYKZ8kx76GrlAEPT7PaTyCla9UG8CBVaz3ewaiywBR28j/YgVm9Kc0n qGTZuqSFVZCixIck52nyNz+UkdobG1fDiz2XU4ToFqc7yDRYSSuvpOatYr/KMeWHI7ri DLMg== X-Gm-Message-State: APjAAAUMN2mF7ybqUfzKja8qgwf3tecyiPvctWp9uWVxw/zBKoOCHLBx /Ku2d8YcbGu+HX1EV+IiCNYGyYsDKWA= X-Google-Smtp-Source: APXvYqzValH3fzpPKicGwfeWlUa8gQ2KZYOl1f5JKHtlJ5lt6TgFb6ArjcklTdr9PaiqatSieehEeQ== X-Received: by 2002:a5d:5392:: with SMTP id d18mr3859854wrv.382.1571751188590; Tue, 22 Oct 2019 06:33:08 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 40/41] hw/arm/omap1: Create the RAM in the board Date: Tue, 22 Oct 2019 14:31:33 +0100 Message-Id: <20191022133134.14487-41-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42c X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 The SDRAM is incorrectly created in the OMAP310 SoC. Move its creation in the board code, this will later allow the board to have the QOM ownership of the RAM. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-id: 20191021190653.9511-6-philmd@redhat.com Signed-off-by: Peter Maydell --- include/hw/arm/omap.h | 6 ++---- hw/arm/omap1.c | 12 +++++------- hw/arm/omap_sx1.c | 8 ++++++-- hw/arm/palm.c | 8 ++++++-- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/include/hw/arm/omap.h b/include/hw/arm/omap.h index 763d8eab4fa..f3aa6700361 100644 --- a/include/hw/arm/omap.h +++ b/include/hw/arm/omap.h @@ -823,7 +823,6 @@ struct omap_mpu_state_s { MemoryRegion mpui_io_iomem; MemoryRegion tap_iomem; MemoryRegion imif_ram; - MemoryRegion emiff_ram; MemoryRegion sram; =20 struct omap_dma_port_if_s { @@ -835,7 +834,7 @@ struct omap_mpu_state_s { hwaddr addr); } port[__omap_dma_port_last]; =20 - unsigned long sdram_size; + uint64_t sdram_size; unsigned long sram_size; =20 /* MPUI-TIPB peripherals */ @@ -932,8 +931,7 @@ struct omap_mpu_state_s { }; =20 /* omap1.c */ -struct omap_mpu_state_s *omap310_mpu_init(MemoryRegion *system_memory, - unsigned long sdram_size, +struct omap_mpu_state_s *omap310_mpu_init(MemoryRegion *sdram, const char *core); =20 /* omap2.c */ diff --git a/hw/arm/omap1.c b/hw/arm/omap1.c index 0400593805e..6ce038a4535 100644 --- a/hw/arm/omap1.c +++ b/hw/arm/omap1.c @@ -23,6 +23,7 @@ #include "qapi/error.h" #include "qemu-common.h" #include "cpu.h" +#include "exec/address-spaces.h" #include "hw/boards.h" #include "hw/hw.h" #include "hw/irq.h" @@ -3858,8 +3859,7 @@ static int omap_validate_tipb_mpui_addr(struct omap_m= pu_state_s *s, return range_covers_byte(0xe1010000, 0xe1020004 - 0xe1010000, addr); } =20 -struct omap_mpu_state_s *omap310_mpu_init(MemoryRegion *system_memory, - unsigned long sdram_size, +struct omap_mpu_state_s *omap310_mpu_init(MemoryRegion *dram, const char *cpu_type) { int i; @@ -3867,11 +3867,12 @@ struct omap_mpu_state_s *omap310_mpu_init(MemoryReg= ion *system_memory, qemu_irq dma_irqs[6]; DriveInfo *dinfo; SysBusDevice *busdev; + MemoryRegion *system_memory =3D get_system_memory(); =20 /* Core */ s->mpu_model =3D omap310; s->cpu =3D ARM_CPU(cpu_create(cpu_type)); - s->sdram_size =3D sdram_size; + s->sdram_size =3D memory_region_size(dram); s->sram_size =3D OMAP15XX_SRAM_SIZE; =20 s->wakeup =3D qemu_allocate_irq(omap_mpu_wakeup, s, 0); @@ -3880,9 +3881,6 @@ struct omap_mpu_state_s *omap310_mpu_init(MemoryRegio= n *system_memory, omap_clk_init(s); =20 /* Memory-mapped stuff */ - memory_region_allocate_system_memory(&s->emiff_ram, NULL, "omap1.dram", - s->sdram_size); - memory_region_add_subregion(system_memory, OMAP_EMIFF_BASE, &s->emiff_= ram); memory_region_init_ram(&s->imif_ram, NULL, "omap1.sram", s->sram_size, &error_fatal); memory_region_add_subregion(system_memory, OMAP_IMIF_BASE, &s->imif_ra= m); @@ -3925,7 +3923,7 @@ struct omap_mpu_state_s *omap310_mpu_init(MemoryRegio= n *system_memory, s->port[tipb_mpui].addr_valid =3D omap_validate_tipb_mpui_addr; =20 /* Register SDRAM and SRAM DMA ports for fast transfers. */ - soc_dma_port_add_mem(s->dma, memory_region_get_ram_ptr(&s->emiff_ram), + soc_dma_port_add_mem(s->dma, memory_region_get_ram_ptr(dram), OMAP_EMIFF_BASE, s->sdram_size); soc_dma_port_add_mem(s->dma, memory_region_get_ram_ptr(&s->imif_ram), OMAP_IMIF_BASE, s->sram_size); diff --git a/hw/arm/omap_sx1.c b/hw/arm/omap_sx1.c index c071197be7f..be245714dbb 100644 --- a/hw/arm/omap_sx1.c +++ b/hw/arm/omap_sx1.c @@ -103,6 +103,7 @@ static void sx1_init(MachineState *machine, const int v= ersion) { struct omap_mpu_state_s *mpu; MemoryRegion *address_space =3D get_system_memory(); + MemoryRegion *dram =3D g_new(MemoryRegion, 1); MemoryRegion *flash =3D g_new(MemoryRegion, 1); MemoryRegion *cs =3D g_new(MemoryRegion, 4); static uint32_t cs0val =3D 0x00213090; @@ -118,8 +119,11 @@ static void sx1_init(MachineState *machine, const int = version) flash_size =3D flash2_size; } =20 - mpu =3D omap310_mpu_init(address_space, sx1_binfo.ram_size, - machine->cpu_type); + memory_region_allocate_system_memory(dram, NULL, "omap1.dram", + sx1_binfo.ram_size); + memory_region_add_subregion(address_space, OMAP_EMIFF_BASE, dram); + + mpu =3D omap310_mpu_init(dram, machine->cpu_type); =20 /* External Flash (EMIFS) */ memory_region_init_ram(flash, NULL, "omap_sx1.flash0-0", flash_size, diff --git a/hw/arm/palm.c b/hw/arm/palm.c index 02a3a82b9b5..72eca8cc556 100644 --- a/hw/arm/palm.c +++ b/hw/arm/palm.c @@ -190,16 +190,20 @@ static void palmte_init(MachineState *machine) MemoryRegion *address_space_mem =3D get_system_memory(); struct omap_mpu_state_s *mpu; int flash_size =3D 0x00800000; - int sdram_size =3D palmte_binfo.ram_size; static uint32_t cs0val =3D 0xffffffff; static uint32_t cs1val =3D 0x0000e1a0; static uint32_t cs2val =3D 0x0000e1a0; static uint32_t cs3val =3D 0xe1a0e1a0; int rom_size, rom_loaded =3D 0; + MemoryRegion *dram =3D g_new(MemoryRegion, 1); MemoryRegion *flash =3D g_new(MemoryRegion, 1); MemoryRegion *cs =3D g_new(MemoryRegion, 4); =20 - mpu =3D omap310_mpu_init(address_space_mem, sdram_size, machine->cpu_t= ype); + memory_region_allocate_system_memory(dram, NULL, "omap1.dram", + palmte_binfo.ram_size); + memory_region_add_subregion(address_space_mem, OMAP_EMIFF_BASE, dram); + + mpu =3D omap310_mpu_init(dram, machine->cpu_type); =20 /* External Flash (EMIFS) */ memory_region_init_ram(flash, NULL, "palmte.flash", flash_size, --=20 2.20.1 From nobody Sun May 5 15:26:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571753714; cv=none; d=zoho.com; s=zohoarc; b=GkEGPePfKFO2wEelDizghnX32ITTOxwfps4HtiCRA/BavjEj1QCs3PWchNZe67PP1Tsxp1FHs60csrfZPOgXNIC1bC4n0Nk6Fh6KnAq9z2DDiDkoyvKvkszDpA/QeChvWYHwTRhrx7lyyOTu9oBlkVHdhGm3CYHJl4gMGxmTu8Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571753714; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ZwNW00oas6mcry2/k1wb4Dsg08MtsQnh0O8QmW/x2tI=; b=A3xErxEmojfmyq4ifVxrdGmxWFxILENsxgBY0CtvcOAmbe7UdZ6BuO99T80n/dei+GzMvGwdj6Gma9tmK6JuOCmZ5KNFog+qL2628g48Ejb3DnFnZsVd3Tt/olTM/wPGY+xHjc5M1SRhiYNqGshUSQEyKcn7s5CEO6HixWvm2mI= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571753714469331.3689474164062; Tue, 22 Oct 2019 07:15:14 -0700 (PDT) Received: from localhost ([::1]:58330 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuwK-0004X9-Ep for importer@patchew.org; Tue, 22 Oct 2019 10:15:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37331) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMuHq-0003Zu-C5 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMuHo-0001hT-3x for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:22 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:50563) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMuHm-0001fQ-UG for qemu-devel@nongnu.org; Tue, 22 Oct 2019 09:33:20 -0400 Received: by mail-wm1-x333.google.com with SMTP id q13so7253560wmj.0 for ; Tue, 22 Oct 2019 06:33:12 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id r2sm20263856wma.1.2019.10.22.06.33.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2019 06:33:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ZwNW00oas6mcry2/k1wb4Dsg08MtsQnh0O8QmW/x2tI=; b=JzUZnxk2KnZ2IeEX86dyIe0gWMAQvqB6rnrDgzV1zSck1Sep4ogcgOZu8y6J0pzjwC q+n1b6+UJ8um8HWLrB5vLo+/F+zhzRcPr+FnLUuT2lMAkhNhvytHFpMuK3sQdiJ6ZIdV TaLqYU/UzrgkNXMHUjEKAkYQwEEMxj2T3tG0iTZXDfI3w2tiHHkab1DYn8ct+rMwvxoA ZYW41wEl2Ad7kLPdJq9B8lqODgy/A17lHHghZPF1KCXMrdvTuLFDoTfWM2sGHB2mHRRZ vk4o+AC+Bdyqi8r5KHcQcViA/o1MhY8mmMEqCPs/JX5WFg0ww9W/QgC7QI0TWWFfvx6G ZbTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZwNW00oas6mcry2/k1wb4Dsg08MtsQnh0O8QmW/x2tI=; b=AYT431qqFQSbJLjjIPSCGj18SJqX8GU1QvjZFb3ULKJyWMV7wxvsafphRo/U/1tkNb XmVVAEdi97SH4mL3GZbmRZkBv7SRGHi1xyJUcKoDhbs9Ak+zaMqmGVhJpTiZngNxF6Br PuHifP6KReoog+PK3LfU/skdTzQ/HzhDQk1vswbrqhz50AjxPtGNPnZa4UEC5asEhB4u zFKPknkurDh5KzxtTZxzkZO0q0//etpn3GUKpVZ203p3/0FqKhCy3BZN7a1G2Kn53bUM gnCLcO99n7cpwa1wWn/3xBV8KQTn7xxCjDLfz7xoTSS4DevdWb6+sn7xNTlv00n6mNv+ btWA== X-Gm-Message-State: APjAAAUtNi/t20yEM/W5gQfZckEMsIgcmaL6hJAMX9rWeCP3WByQxRb4 yhsxbRvbGsHjUMl9+bt1XCKiqDcJe3Y= X-Google-Smtp-Source: APXvYqzSv9UPNIDfIfqTaQUTPSd65pOXNkkiTllvTpuE8attUvYF492vEIxZX+TOQaE92TD43LGymg== X-Received: by 2002:a7b:c924:: with SMTP id h4mr3211922wml.46.1571751190844; Tue, 22 Oct 2019 06:33:10 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 41/41] hw/arm/digic4: Inline digic4_board_setup_ram() function Date: Tue, 22 Oct 2019 14:31:34 +0100 Message-Id: <20191022133134.14487-42-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191022133134.14487-1-peter.maydell@linaro.org> References: <20191022133134.14487-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::333 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 Having the RAM creation code in a separate function is not very helpful. Move this code directly inside the board_init() function, this will later allow the board to have the QOM ownership of the RAM. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-id: 20191021190653.9511-7-philmd@redhat.com Signed-off-by: Peter Maydell --- hw/arm/digic_boards.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/hw/arm/digic_boards.c b/hw/arm/digic_boards.c index 304e4d1a294..ef3fc2b6a5f 100644 --- a/hw/arm/digic_boards.c +++ b/hw/arm/digic_boards.c @@ -53,12 +53,6 @@ typedef struct DigicBoard { const char *rom1_def_filename; } DigicBoard; =20 -static void digic4_board_setup_ram(DigicBoardState *s, hwaddr ram_size) -{ - memory_region_allocate_system_memory(&s->ram, NULL, "ram", ram_size); - memory_region_add_subregion(get_system_memory(), 0, &s->ram); -} - static void digic4_board_init(DigicBoard *board) { Error *err =3D NULL; @@ -72,7 +66,8 @@ static void digic4_board_init(DigicBoard *board) exit(1); } =20 - digic4_board_setup_ram(s, board->ram_size); + memory_region_allocate_system_memory(&s->ram, NULL, "ram", board->ram_= size); + memory_region_add_subregion(get_system_memory(), 0, &s->ram); =20 if (board->add_rom0) { board->add_rom0(s, DIGIC4_ROM0_BASE, board->rom0_def_filename); --=20 2.20.1