From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583425937; cv=none; d=zohomail.com; s=zohoarc; b=EMTaTp1FditDukvELJ2p/Xhc2Me+5mZTVAu5V+VZ/VtueZD92OYefCtRXatMpvbkWrgXNMZ4Fv0HsxVQpf99Om58y8NaW8KxYE1fZHcxiM7Fnft3ww7DACE5Q+ix0jjNsa3YkeSQ3S/7XugYaMhjFx4Dh5nS7jx+JYEoj034V54= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583425937; 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=ElBYJtmzlxhrgNMoiYtNokYMz79Cy1FhYV1DNGkLZoc=; b=MV8gWeLkMDENEZrW7wsURgUtPvB/oqrB8wKKFhi5hAo6wSK//65+GZ53HGng6h6MboCeN6qxzIhVhiSLRg53TZfQB1EWfaM02DzfMD17sbqLEOuMb1J1vrP6wH86zCepGaj9ehWrZWXQn1qCruwR5r6YYBhoZWcjy8cPs8+uuvs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583425937580640.6486052608778; Thu, 5 Mar 2020 08:32:17 -0800 (PST) Received: from localhost ([::1]:52406 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPz-0004Cd-L2 for importer@patchew.org; Thu, 05 Mar 2020 11:32:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59024) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tOs-0003B3-Qk for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tOr-00024g-Ea for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:06 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:43398) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tOr-00022a-85 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:05 -0500 Received: by mail-wr1-x42c.google.com with SMTP id v9so1191575wrf.10 for ; Thu, 05 Mar 2020 08:31:05 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:03 -0800 (PST) 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=ElBYJtmzlxhrgNMoiYtNokYMz79Cy1FhYV1DNGkLZoc=; b=jNfvHeqZtux8ygKrbnRTdYn0mQE+kPK7AE7MGx2yHxGpvNX7paSIARQ/6GOAAJwNTy Jji4kex6IRnzkc7QnotrGVsezuY3hXxG1euc8TqnOUf3Yu3jzwm2pgOrpN7wGrivhwut hgidYgaOJRw4PjSBf7FsHeoYo0bTV/aXRo33bpWCd/cWAsFUgWUENI5izg9RRdJRMyz8 07SNHEDb/CAxPENw1+WvDbeKhi89HGnYHVKEuEtYhd6ct0qVARtFiZ5W/OoeanzNB/Dy hHl6ttKia4PMYzMnSB7naQrEcYDxgF7x4cFKjTWmKhn8b0wjHpvBezHl80lp8R3XO/wK LDEA== 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=ElBYJtmzlxhrgNMoiYtNokYMz79Cy1FhYV1DNGkLZoc=; b=D4SKqwM+xthwV6TBay3FPcBNLhuLhp9Vx4ADyzUaReeDoyZrJr1OVEalhMkr7UWEhK y1GERf0bKgtEYbSN/U8u/jdlUAdDuTCs/XOJ7rsMW+0ZmTvWe3dQMSmuoKuPmdSYcL+Q ekWyjpeHTgTR+HlWoUHkEP2emD9cUQpPCj1xJ4Tqg2oqlM32YDLv0vjok/rXnMD/GI3t PuNOqLEwUxnw8lXuLNVu3uSyfUdGMK89/8Bdb6fJ8W2hVpWKTg2Gw6sNhMUJxng8FnPS DRBS52dIKtwcBllGFgmPw6dRVwllIXN1SEIBeN+xRzHrPmrd78UKi7Cpd2l7OK4BmusS 7PYg== X-Gm-Message-State: ANhLgQ3MzhI3UieoOxB/D7wHoDhZOe7bIo118IjoE8CTsZGNfpPm+p4E DiJrh87CtuOBaSCaQTMjURoo4KS1kzwobg== X-Google-Smtp-Source: ADFU+vtxEJQ8KWl81dGZnJqCqfAX3dq9MnPi6+zpPeYEiC5YmZufjVC0TF0gK3g5fkwccQrrmN7yOA== X-Received: by 2002:a5d:56c9:: with SMTP id m9mr10477603wrw.289.1583425863859; Thu, 05 Mar 2020 08:31:03 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 01/37] hw/arm: versal: Add support for the LPD ADMAs Date: Thu, 5 Mar 2020 16:30:24 +0000 Message-Id: <20200305163100.22912-2-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) Content-Type: text/plain; charset="utf-8" From: "Edgar E. Iglesias" Add support for the Versal LPD ADMAs. Signed-off-by: Edgar E. Iglesias Reviewed-by: Francisco Iglesias Reviewed-by: KONRAD Frederic Reviewed-by: Luc Michel Signed-off-by: Peter Maydell --- include/hw/arm/xlnx-versal.h | 6 ++++++ hw/arm/xlnx-versal.c | 24 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/include/hw/arm/xlnx-versal.h b/include/hw/arm/xlnx-versal.h index d844c4ffe47..6c0a692b2fd 100644 --- a/include/hw/arm/xlnx-versal.h +++ b/include/hw/arm/xlnx-versal.h @@ -22,6 +22,7 @@ #define XLNX_VERSAL_NR_ACPUS 2 #define XLNX_VERSAL_NR_UARTS 2 #define XLNX_VERSAL_NR_GEMS 2 +#define XLNX_VERSAL_NR_ADMAS 8 #define XLNX_VERSAL_NR_IRQS 192 =20 typedef struct Versal { @@ -50,6 +51,7 @@ typedef struct Versal { struct { SysBusDevice *uart[XLNX_VERSAL_NR_UARTS]; SysBusDevice *gem[XLNX_VERSAL_NR_GEMS]; + SysBusDevice *adma[XLNX_VERSAL_NR_ADMAS]; } iou; } lpd; =20 @@ -74,6 +76,7 @@ typedef struct Versal { #define VERSAL_GEM0_WAKE_IRQ_0 57 #define VERSAL_GEM1_IRQ_0 58 #define VERSAL_GEM1_WAKE_IRQ_0 59 +#define VERSAL_ADMA_IRQ_0 60 =20 /* Architecturally reserved IRQs suitable for virtualization. */ #define VERSAL_RSVD_IRQ_FIRST 111 @@ -96,6 +99,9 @@ typedef struct Versal { #define MM_GEM1 0xff0d0000U #define MM_GEM1_SIZE 0x10000 =20 +#define MM_ADMA_CH0 0xffa80000U +#define MM_ADMA_CH0_SIZE 0x10000 + #define MM_OCM 0xfffc0000U #define MM_OCM_SIZE 0x40000 =20 diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c index 403fc7b8814..cb0122a3a68 100644 --- a/hw/arm/xlnx-versal.c +++ b/hw/arm/xlnx-versal.c @@ -194,6 +194,29 @@ static void versal_create_gems(Versal *s, qemu_irq *pi= c) } } =20 +static void versal_create_admas(Versal *s, qemu_irq *pic) +{ + int i; + + for (i =3D 0; i < ARRAY_SIZE(s->lpd.iou.adma); i++) { + char *name =3D g_strdup_printf("adma%d", i); + DeviceState *dev; + MemoryRegion *mr; + + dev =3D qdev_create(NULL, "xlnx.zdma"); + s->lpd.iou.adma[i] =3D SYS_BUS_DEVICE(dev); + object_property_add_child(OBJECT(s), name, OBJECT(dev), &error_fat= al); + qdev_init_nofail(dev); + + mr =3D sysbus_mmio_get_region(s->lpd.iou.adma[i], 0); + memory_region_add_subregion(&s->mr_ps, + MM_ADMA_CH0 + i * MM_ADMA_CH0_SIZE, mr= ); + + sysbus_connect_irq(s->lpd.iou.adma[i], 0, pic[VERSAL_ADMA_IRQ_0 + = i]); + g_free(name); + } +} + /* This takes the board allocated linear DDR memory and creates aliases * for each split DDR range/aperture on the Versal address map. */ @@ -275,6 +298,7 @@ static void versal_realize(DeviceState *dev, Error **er= rp) versal_create_apu_gic(s, pic); versal_create_uarts(s, pic); versal_create_gems(s, pic); + versal_create_admas(s, pic); versal_map_ddr(s); versal_unimp(s); =20 --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426199; cv=none; d=zohomail.com; s=zohoarc; b=mHrPIi63BNrjBVtOTrBfvVVEMkLLWe0WJVbZ1eqftZot98qBe1HZoWC3biWEnVLGE8rewk0B1C6P2nElny4Wi38d3BCwk7DS++zGC319AQYCki0ZEJ63hmx/2sBx79COaibNFXxw35oCnFh9np3MGG2H1RBCgU6rpYoVIIeFxAY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426199; 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=yEiymKhkPROqYzNJ51XYaQjzjgzEBScugFbYELCXiTs=; b=KHkPojk85BLR2SItswAlWMqX+2c4HQ9KPIeq4R8cwiJ6QYfbcGeLYfLeqKt3CHNszpP0pI5trOPCEIu4WUcPmGdUep0wcDTAQumdbA57QlyfU+rWVUx3tgfFL37Iazgkxf0AxGMVJ4ebmXfbtaQ4nsMssriYgGwhSi58YsoyAck= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426199061556.7665733078967; Thu, 5 Mar 2020 08:36:39 -0800 (PST) Received: from localhost ([::1]:52518 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tUE-0003iZ-0t for importer@patchew.org; Thu, 05 Mar 2020 11:36:38 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59037) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tOt-0003Cr-Io for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tOs-00025F-EL for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:07 -0500 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:39600) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tOs-00024k-7q for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:06 -0500 Received: by mail-wr1-x441.google.com with SMTP id y17so7802534wrn.6 for ; Thu, 05 Mar 2020 08:31:06 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:04 -0800 (PST) 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=yEiymKhkPROqYzNJ51XYaQjzjgzEBScugFbYELCXiTs=; b=WAZdIyJtpvTzEe2dl4d/NyQM5LyI8aBJcyzH3QLfvySD0Nlz7CTEFomvWpACmrlAKc ezylUjdtp6oM1+6+wBa51tPRB20ilUyqBWZt8LsFnz1hYXgM7oHtAZKcLyXKZ0j/WCep xUMiObVoG1F7VYAGypc4e+gCwR8RRendsxTbm24eYNfho9BplXCDiQh7o6hOOqertbC+ Xo55/CkYya5ymlmjEIMnRwADbrKl5+AC9xoMerRDRALvSedICUc/aBnMQvTg37nfgmWZ PQs0xZIabR4ajaxu7x5nPCc9eZxjo1KnLQz8KR9g3lViRybyWx2lKIg55ZFlTuW0Svpx n7KA== 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=yEiymKhkPROqYzNJ51XYaQjzjgzEBScugFbYELCXiTs=; b=RwRWLFUjoH4obSVMBhpCN3J/AadEsT3rlyxH8wQ6UI/+FjvNZd9xuZ2G9RAlN2L6KX F+lbHlB30BhoiPIgaVtIv7FXzVj7JHY/UA5tegN9hVbajV15NzQ/wl3Cv0uZsO6s6EFN 0VSZJfxvKGcY8FMy7CcQs4XiXDF/eXBrBAYCrnVlNzt2WQIjF5AwF9dI5G1Tb4xQRQSY NvC33qx2uYDlSCheQ/2/sh9mDxtEoYUz3wXnFMDW+tPozgdwBR9oZPVWk01Bx6Ql9mNT DHQuIFH8uHeYlwXySZn++TIRXV9b3VS+IhS2l/cfYY3g0CWXhwSh0KbJK/t7/zrYnK1Q CJYQ== X-Gm-Message-State: ANhLgQ0NQXvpEnbfDkLbvShr3OqqtWIUdTaKyXDkI2APSgvOfqINbgzU k/XhGtcT16pZbzCj65XVRwTd+j+cntnEdA== X-Google-Smtp-Source: ADFU+vtA0kPCR5Orj3C6WQw9qTciGUtirEnCMl0eWew44VVFLEroUEpemEPgEXySrn2mUyESbvuByw== X-Received: by 2002:a5d:5043:: with SMTP id h3mr5963574wrt.274.1583425864900; Thu, 05 Mar 2020 08:31:04 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 02/37] hw/arm: versal: Generate xlnx-versal-virt zdma FDT nodes Date: Thu, 5 Mar 2020 16:30:25 +0000 Message-Id: <20200305163100.22912-3-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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: "Edgar E. Iglesias" Generate xlnx-versal-virt zdma FDT nodes. Signed-off-by: Edgar E. Iglesias Reviewed-by: Francisco Iglesias Reviewed-by: KONRAD Frederic Reviewed-by: Luc Michel Signed-off-by: Peter Maydell --- hw/arm/xlnx-versal-virt.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/hw/arm/xlnx-versal-virt.c b/hw/arm/xlnx-versal-virt.c index e7f4ca8bf95..878a2751400 100644 --- a/hw/arm/xlnx-versal-virt.c +++ b/hw/arm/xlnx-versal-virt.c @@ -229,6 +229,33 @@ static void fdt_add_gem_nodes(VersalVirt *s) } } =20 +static void fdt_add_zdma_nodes(VersalVirt *s) +{ + const char clocknames[] =3D "clk_main\0clk_apb"; + const char compat[] =3D "xlnx,zynqmp-dma-1.0"; + int i; + + for (i =3D XLNX_VERSAL_NR_ADMAS - 1; i >=3D 0; i--) { + uint64_t addr =3D MM_ADMA_CH0 + MM_ADMA_CH0_SIZE * i; + char *name =3D g_strdup_printf("/dma@%" PRIx64, addr); + + qemu_fdt_add_subnode(s->fdt, name); + + qemu_fdt_setprop_cell(s->fdt, name, "xlnx,bus-width", 64); + qemu_fdt_setprop_cells(s->fdt, name, "clocks", + s->phandle.clk_25Mhz, s->phandle.clk_25Mhz); + qemu_fdt_setprop(s->fdt, name, "clock-names", + clocknames, sizeof(clocknames)); + qemu_fdt_setprop_cells(s->fdt, name, "interrupts", + GIC_FDT_IRQ_TYPE_SPI, VERSAL_ADMA_IRQ_0 + i, + GIC_FDT_IRQ_FLAGS_LEVEL_HI); + qemu_fdt_setprop_sized_cells(s->fdt, name, "reg", + 2, addr, 2, 0x1000); + qemu_fdt_setprop(s->fdt, name, "compatible", compat, sizeof(compat= )); + g_free(name); + } +} + static void fdt_nop_memory_nodes(void *fdt, Error **errp) { Error *err =3D NULL; @@ -427,6 +454,7 @@ static void versal_virt_init(MachineState *machine) fdt_add_uart_nodes(s); fdt_add_gic_nodes(s); fdt_add_timer_nodes(s); + fdt_add_zdma_nodes(s); fdt_add_cpu_nodes(s, psci_conduit); fdt_add_clk_node(s, "/clk125", 125000000, s->phandle.clk_125Mhz); fdt_add_clk_node(s, "/clk25", 25000000, s->phandle.clk_25Mhz); --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426298; cv=none; d=zohomail.com; s=zohoarc; b=RE9mlB9ld8JMsKPG/exLLjP1I4Pil3hUP/H6xCoEWKzlgM9TEMPvpaetijG2a/CwIzTbgEa8EAS/+QegpcJ4dS3YCSPjLv5T02Ck+z2dLFjZRuIOF0MJd6VphnTlYG6Jh9AZplLpylt9TIfjTXqDglorublNkCQI0/osEM28H7Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426298; 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=1ef+BYDS8rTe5i0BI9ywJQpdyAoxyoAQZCX8XvfU9aI=; b=N8ieRuoXUVP+SUTroGcO1CC+DtDff+cyDmzBYlYkPNnIgYpHhMGUU2F0x2Pm6+LeFpGAAnzkbkkXlj6rtJH+LNVOihNwPsfFF7OCDrMqL8qWbHIbLMCYr3XPkaMyOIOWuzINXUJUrQpjXFgNUw25Tk9E3r36PASc294lwju0Dqk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426297981559.8969454080446; Thu, 5 Mar 2020 08:38:17 -0800 (PST) Received: from localhost ([::1]:52566 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tVo-0007TI-LT for importer@patchew.org; Thu, 05 Mar 2020 11:38:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59059) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tOv-0003Gx-42 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tOt-00026N-S2 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:09 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:39801) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tOt-00025Y-LF for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:07 -0500 Received: by mail-wr1-x436.google.com with SMTP id y17so7802676wrn.6 for ; Thu, 05 Mar 2020 08:31:07 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:05 -0800 (PST) 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=1ef+BYDS8rTe5i0BI9ywJQpdyAoxyoAQZCX8XvfU9aI=; b=V5g94zARXCWjtrHWfE9gIuQpbY1ZKvJcCm4ihRaOFXNd6Cxd2Zv+6gQPa38Bq7Oehs BnTQAX/Pi7vyekCZyIuVpoVldvn+iaWr23ZDoEXQVk0YtVMTl3c3YnNN5cP8nyWNWunL 1s1gMo4zMaVVfbwDRvgBcXnmnnTIqOrmVvJQW4kp8+uETQB9xdn3iqlYM6W+A2StHaYT TrL2OkaXue6rbTa4TErZ/00/8kFVgaixhsMK30c96GgNg5gQ3B5AgEI+SDNir/QcDqNG w3J0xXIs+x1iAsHs+e0KjJyrkrmb5xlQUarWDyw6gBvt67hEyIoTqkj9Kb1BH/5YzGRM 1evw== 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=1ef+BYDS8rTe5i0BI9ywJQpdyAoxyoAQZCX8XvfU9aI=; b=avTuGDnYFvxvXnhK2rNBf8+oQf3zuPXrBylS9N49RiqJl+11QgBWimRJg4FiiE0ru/ hmpUm1Rf6rGyie+elFVCnfHytH1cSHMSWCIs8avIZo22p7m2a+hqaMnDjmAgcwrol8Cx TyMd3lf4Fz6O7uE28Wy4ShbyTjE7t8C1V3ZnXrgyqAZF2LAJgfo8MBuW9g7DalLWxkUQ 31REvxNUpAnx7fThZwBJTuDpwh8Zr9fYm8Ahm9GJ0GQeAEjftfGQj/fSYpZd6EzLDNTs /9zXzUW2A2whlexLAi8PsEkXmYmWJK3N/K5Hke5Ww3bQPWBGUa3wHn77oJpHNWa6+72l 0+ow== X-Gm-Message-State: ANhLgQ2klPo8TpGdM6NbBP6fnGgNPwsc399eqPLOH26YiwV1uogx6GSV VPcKyBqnobIwF7ziI7paCys5+eXFL44Qmg== X-Google-Smtp-Source: ADFU+vsLGq40XEGFIxc6tct9GkXAyKJ7azS8wlp649g8+b8+oGYtDg3pQ/y1mcssALeN0uQpq2HE+Q== X-Received: by 2002:adf:b345:: with SMTP id k5mr11656251wrd.55.1583425866143; Thu, 05 Mar 2020 08:31:06 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 03/37] target/arm: Implement (trivially) ARMv8.2-TTCNP Date: Thu, 5 Mar 2020 16:30:26 +0000 Message-Id: <20200305163100.22912-4-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::436 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" The ARMv8.2-TTCNP extension allows an implementation to optimize by sharing TLB entries between multiple cores, provided that software declares that it's ready to deal with this by setting a CnP bit in the TTBRn_ELx. It is mandatory from ARMv8.2 onward. For QEMU's TLB implementation, sharing TLB entries between different cores would not really benefit us and would be a lot of work to implement. So we implement this extension in the "trivial" manner: we allow the guest to set and read back the CnP bit, but don't change our behaviour (this is an architecturally valid implementation choice). The only code path which looks at the TTBRn_ELx values for the long-descriptor format where the CnP bit is defined is already doing enough masking to not get confused when the CnP bit at the bottom of the register is set, so we can simply add a comment noting why we're relying on that mask. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20200225193822.18874-1-peter.maydell@linaro.org --- target/arm/cpu.c | 1 + target/arm/cpu64.c | 2 ++ target/arm/helper.c | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index e6016e33cec..de00a45e903 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2702,6 +2702,7 @@ static void arm_max_initfn(Object *obj) t =3D cpu->isar.id_mmfr4; t =3D FIELD_DP32(t, ID_MMFR4, HPDS, 1); /* AA32HPD */ t =3D FIELD_DP32(t, ID_MMFR4, AC2, 1); /* ACTLR2, HACTLR2 */ + t =3D FIELD_DP32(t, ID_MMFR4, CNP, 1); /* TTCNP */ cpu->isar.id_mmfr4 =3D t; } #endif diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index b842e2b664a..62d36f9e8d3 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -677,6 +677,7 @@ static void aarch64_max_initfn(Object *obj) =20 t =3D cpu->isar.id_aa64mmfr2; t =3D FIELD_DP64(t, ID_AA64MMFR2, UAO, 1); + t =3D FIELD_DP64(t, ID_AA64MMFR2, CNP, 1); /* TTCNP */ cpu->isar.id_aa64mmfr2 =3D t; =20 /* Replicate the same data to the 32-bit id registers. */ @@ -704,6 +705,7 @@ static void aarch64_max_initfn(Object *obj) u =3D cpu->isar.id_mmfr4; u =3D FIELD_DP32(u, ID_MMFR4, HPDS, 1); /* AA32HPD */ u =3D FIELD_DP32(u, ID_MMFR4, AC2, 1); /* ACTLR2, HACTLR2 */ + u =3D FIELD_DP32(t, ID_MMFR4, CNP, 1); /* TTCNP */ cpu->isar.id_mmfr4 =3D u; =20 u =3D cpu->isar.id_aa64dfr0; diff --git a/target/arm/helper.c b/target/arm/helper.c index 6be9ffa09ef..4eaf7333c7b 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -10591,6 +10591,10 @@ static bool get_phys_addr_lpae(CPUARMState *env, t= arget_ulong address, =20 /* Now we can extract the actual base address from the TTBR */ descaddr =3D extract64(ttbr, 0, 48); + /* + * We rely on this masking to clear the RES0 bits at the bottom of the= TTBR + * and also to mask out CnP (bit 0) which could validly be non-zero. + */ descaddr &=3D ~indexmask; =20 /* The address field in the descriptor goes up to bit 39 for ARMv7 --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426147; cv=none; d=zohomail.com; s=zohoarc; b=eQoOgv3IPiRYce5nvGvszVO57qIpat0wXVwdbCwJx3lxmmx/oVvOQRSaSMimtJD5l/cZ6igCJAv5mdoglVe/RjayJvtCaJgwgC12iGMgF7oO3WifapjGC0QHqEZrwr6kXszP4tbYY+x6U/MlpA3Vzt3qgTl5Rz9k3XPI2G8Z810= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426147; 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=/PZhJSySPN1YW4Bj6r0qdRVaYj511W7grsZV1hLEBIE=; b=SFfDcObaSlBa3/yJHjuwwNbPrycaSmUO6xjdGOdKb5R4hG5NkgnWrVPDgZBsQYXfSaq7yvkUU5m9sTT70anYLrv8mrTT6+PbyhqOsqPBR5GxF5UtTR65ejdf/63lSs5soM/l5CzccuvNFdN+zyRXBhZnJRXrUnumKCOFZ5YMtWw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426147196191.69331000989382; Thu, 5 Mar 2020 08:35:47 -0800 (PST) Received: from localhost ([::1]:52483 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tTO-0001oH-0K for importer@patchew.org; Thu, 05 Mar 2020 11:35:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59066) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tOv-0003H2-Q6 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tOu-00026p-PW for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:09 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:55805) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tOu-00026R-IY for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:08 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 6so7070285wmi.5 for ; Thu, 05 Mar 2020 08:31:08 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:06 -0800 (PST) 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=/PZhJSySPN1YW4Bj6r0qdRVaYj511W7grsZV1hLEBIE=; b=c5yfdy9Hwb5AtnhhTgkuSKk5+05krDu8XaXyJsB644JLCen1dFEiIk5npuby30/Ft0 yNRYme8vZ3G+ggfvRSj9VFJoo5xQtPtnL/dDl/0indxnsowMjr9vzABKt7GDUtFtPvko ljMe/ffLWbzlvLHjEiLNZCfFfRTJz7K1BuUOQ2luhjpivOQH8okzllpXr664usxfFdPA GaPS8uZ3etgJIJOX+EosqN1AJzNQ7/r4XuYuz6aJltwNuOxnAryXu/L2k+tvEsKtE/b9 wL82NM4Xrof4FZ5rClkTHdqG7wyPuILJs+LNkpB6+1ARCnf81AE34ChH2meOd0TcCNEE XwNA== 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=/PZhJSySPN1YW4Bj6r0qdRVaYj511W7grsZV1hLEBIE=; b=qx03airdiVNjNLI9fWvHLdsvd/be11QUDqcRh5pr507PnFgjPijIGkrSKWIUD0tTGk hx+t2sS0wpVboL66OYYYgM+lnV6MTFK/LTgp8LZM90WLNI9AFsNzYgt6aszNK9fO6feY ucdUjCwVWQ+y+srcppzDnA7X+nbS1GM9YO2X4s2XkKsD0x7MFY5UBRIPCgymb+85K4fi +XDlee8V6isjb9gQGfiUpWgLpbmHeYcmy/e4jEmQX2Wy8k4fdPIhhxHATcC1r5DkC/K5 NZw0N3z0eInEXehCCc0dH4sq66ujHorSJ4XqX2rj4O6tqmsCB5L4n7MhUzLmPHYPPWp0 YYrg== X-Gm-Message-State: ANhLgQ2+JicYfwk+hEWZia4f1tsSv72wrNzvmKo3MgchsBCEjCRIT4bz MNDVm8Zb1jIQuQEP8UbDeP08h0wUWA1iVw== X-Google-Smtp-Source: ADFU+vtotPycQnCrxMRb/qRFZU2vpMWrL0MbSBVTw7CPEwu+tScAxptxdXVFX1Vt6yaUvFzm0eulHQ== X-Received: by 2002:a7b:c2a2:: with SMTP id c2mr10157468wmk.19.1583425867159; Thu, 05 Mar 2020 08:31:07 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 04/37] hw/arm/smmu-common: a fix to smmu_find_smmu_pcibus Date: Thu, 5 Mar 2020 16:30:27 +0000 Message-Id: <20200305163100.22912-5-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::32a 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: Eric Auger Make sure a null SMMUPciBus is returned in case we were not able to identify a pci bus matching the @bus_num. This matches the fix done on intel iommu in commit: a2e1cd41ccfe796529abfd1b6aeb1dd4393762a2 Signed-off-by: Eric Auger Reviewed-by: Peter Xu Message-Id: <20200226172628.17449-1-eric.auger@redhat.com> Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Peter Maydell --- hw/arm/smmu-common.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c index 0f2573f0045..67d7b2d0fd9 100644 --- a/hw/arm/smmu-common.c +++ b/hw/arm/smmu-common.c @@ -301,6 +301,7 @@ SMMUPciBus *smmu_find_smmu_pcibus(SMMUState *s, uint8_t= bus_num) return smmu_pci_bus; } } + smmu_pci_bus =3D NULL; } return smmu_pci_bus; } --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426373; cv=none; d=zohomail.com; s=zohoarc; b=JWObw0IPwL+UXHL1sewPjlLkjO3yGNF9Pmn7YheUVyPeAgFRMg11L3ManeaLWl16Evh1ZrqdBU8I7onFq08ykXeParyTThxbYgGx50EIHRomjDIMwYkkun06j6x6jkCM5rau3vAj1qVc9UZ67aLDD0MiDamKrsBjGBljHs1g//E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426373; 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=x0koMjvwGuOCpGMER2fTln7XCO/uLklg3+AuMRzjjUc=; b=jTEVRq9Xuu+1ZOsowhuWPR2OawBRcJTuCTCVeGUgg5TYlulREB2qfgVkhYBCnLO7jmFlxhtJvoRWiaNzEqWQr7uKY1M/RN6PQeXWpZlBcrgX5oJ6/dPu9YfRIYnzcekzrfl35qT9CIJHlQ9wPJya/zxoLrmOJdYxwUxUseTbBjU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426373277738.6037252866907; Thu, 5 Mar 2020 08:39:33 -0800 (PST) Received: from localhost ([::1]:52590 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tX2-0000v4-7k for importer@patchew.org; Thu, 05 Mar 2020 11:39:32 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59084) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tOw-0003H4-Uu for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tOv-00027G-Ph for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:10 -0500 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:38078) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tOv-00026v-HK for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:09 -0500 Received: by mail-wr1-x429.google.com with SMTP id t11so7799183wrw.5 for ; Thu, 05 Mar 2020 08:31:09 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:07 -0800 (PST) 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=x0koMjvwGuOCpGMER2fTln7XCO/uLklg3+AuMRzjjUc=; b=HfP+TOaRbmzoddCCUeVcHhPnJGYncpTcKZ10Un3bvQC/rBuQwAHWlqU5XwTEAPXImg Gm7Ywjuaw9qpf5RgfIsUJRBbU4HQX5/jiZvMl+elTIvcVz+eQbrS+cApGu+ETP71MXnx mU7Bzfns/YjJtw+HyAN1YlojqIpmEglD8HMykLXUhnwYsgWjVCIma+f3M+UJIaGhFG6R mLFUOs+E5bw33RnGBWRLGQ0SUUb2Z3TKhyFA24bm1NDb5W0rEI2h3HWUpP9PUOsqH2xe QDaDrbTpy/y2VcWzAkN2DZ0U25Ymie7h1gdzKCpV7chPZXDzWJVdtKZgQKvvsJnT+lxR igbw== 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=x0koMjvwGuOCpGMER2fTln7XCO/uLklg3+AuMRzjjUc=; b=OXNXCT1Td5iB5ooO95N0Ej0UJUIuQPlCyUlZ5SL92JEfKl/xqDSH8i0aYEw5o4+vno rNUFLNwr9c9AZitXSL6zjqU9F2+flC9RYh6oRhIdXAFD6zwa3nja75ELHvgM04XY/FjC XQTOkGJMFUIwvweVIjoEPaRUBHQr7a4LohpH15nRdrGzuMmRovM1yMXQsoZ+Enz3aff0 vgsgBHwwXHUrhG0zF+ekMiiZwgdWOrcxjEmfGCg6MBjH2A3rhspqOhesfrmQyGFmPXqe 2FjoafNlEZq7w60ComD+xRUU4IW0SQ7fHLDC16BROVuIELgnCj+HoSHxyQmCj5Pr7Pai Neog== X-Gm-Message-State: ANhLgQ1jt5fwcvO743T9ex7dYcJIX5q+5HDr5NF6NW6JKXRQBuYxXi/a uKyoojDvU7dxEQj2z3XBWJ2nX4FsRyMe2A== X-Google-Smtp-Source: ADFU+vtKEN049k1wqgfk2M71v5nr12+CTIgJ9F/ruXRIGc4rcIrJ2aYkdiwA0b8RB9yuzq3vGlLV2g== X-Received: by 2002:a5d:4b82:: with SMTP id b2mr11020968wrt.102.1583425868214; Thu, 05 Mar 2020 08:31:08 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 05/37] hw/arm/smmu-common: Simplify smmu_find_smmu_pcibus() logic Date: Thu, 5 Mar 2020 16:30:28 +0000 Message-Id: <20200305163100.22912-6-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::429 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 smmu_find_smmu_pcibus() function was introduced (in commit cac994ef43b) in a code format that could return an incorrect pointer, which was then fixed by the previous commit. We could have avoided this by writing the if() statement differently. Do it now, in case this function is re-used. The code is easier to review (harder to miss bugs). Acked-by: Eric Auger Reviewed-by: Peter Xu Signed-off-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Peter Maydell --- hw/arm/smmu-common.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c index 67d7b2d0fd9..e13a5f4a7cb 100644 --- a/hw/arm/smmu-common.c +++ b/hw/arm/smmu-common.c @@ -290,20 +290,21 @@ inline int smmu_ptw(SMMUTransCfg *cfg, dma_addr_t iov= a, IOMMUAccessFlags perm, SMMUPciBus *smmu_find_smmu_pcibus(SMMUState *s, uint8_t bus_num) { SMMUPciBus *smmu_pci_bus =3D s->smmu_pcibus_by_bus_num[bus_num]; + GHashTableIter iter; =20 - if (!smmu_pci_bus) { - GHashTableIter iter; - - g_hash_table_iter_init(&iter, s->smmu_pcibus_by_busptr); - while (g_hash_table_iter_next(&iter, NULL, (void **)&smmu_pci_bus)= ) { - if (pci_bus_num(smmu_pci_bus->bus) =3D=3D bus_num) { - s->smmu_pcibus_by_bus_num[bus_num] =3D smmu_pci_bus; - return smmu_pci_bus; - } - } - smmu_pci_bus =3D NULL; + if (smmu_pci_bus) { + return smmu_pci_bus; } - return smmu_pci_bus; + + g_hash_table_iter_init(&iter, s->smmu_pcibus_by_busptr); + while (g_hash_table_iter_next(&iter, NULL, (void **)&smmu_pci_bus)) { + if (pci_bus_num(smmu_pci_bus->bus) =3D=3D bus_num) { + s->smmu_pcibus_by_bus_num[bus_num] =3D smmu_pci_bus; + return smmu_pci_bus; + } + } + + return NULL; } =20 static AddressSpace *smmu_find_add_as(PCIBus *bus, void *opaque, int devfn) --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426239; cv=none; d=zohomail.com; s=zohoarc; b=RPdlJIHJwsBB6ITDYsM2ICrBszHa0n8HfGJs6hmB8Yu0HbQZDTqWxN4cOL72HK/qgxpl4iYtdjN6AVad9/w1N1xryTDecYP2lmAmSiovFIsXJMwB8CaYFoh9XCYefeaZUV65P86gj7gVwl2eA72788RVtyczDXzX9JkZM+k98SU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426239; 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=8houcYe7KUIwDQbN8/wwPDt2OpHbE7pOYm4MOnfdoYo=; b=lXelOIifombuB8BkIjPU26RebwgjGXdm1UIAWIeTjjwBuwTmHwWvYK9Wkg9DHNP76L6Ba73l2bH+w2Y5dLi3cZHtvZb/S/80fRQN1fWzXkh1946Tc6P/Jr9S7WUDRDn0I4zAO1+8Zi3H53hx2u2S2gSPd7+cdlbySnoFFX6ZXu8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426239381471.37422320286885; Thu, 5 Mar 2020 08:37:19 -0800 (PST) Received: from localhost ([::1]:52542 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tUs-0005S2-40 for importer@patchew.org; Thu, 05 Mar 2020 11:37:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59101) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tOy-0003JI-2T for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tOw-00028Z-UQ for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:12 -0500 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:40535) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tOw-00027U-MR for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:10 -0500 Received: by mail-wr1-x444.google.com with SMTP id r17so7794267wrj.7 for ; Thu, 05 Mar 2020 08:31:10 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:08 -0800 (PST) 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=8houcYe7KUIwDQbN8/wwPDt2OpHbE7pOYm4MOnfdoYo=; b=RIZVL8OYDiYAtvZS31rqRtTKmduNqaZ+5WOcIodDasjLup6BjxrfhMrQZrvXzOZc/7 mQL4DjU7mCvTxtHWiOlj6VDnSqT1hwDST5vughJedZ6sbktL7hVI/uCVzu5rHwnqN9KN 2W31bty/kf2LMYriSy0UhBRi3Gd867+0OpSYR1eRyv4Qlp1yyIWi3B6feufeR3Adz729 RZF4EiRVBHcZzJ/xKok6HCay0i+90aHltjtG195Hz+jGvEgLhy9vZWAOs3ghZi2pdfP9 eKXPGHmBZpVTjSnbwnC4Oxc4cgBxNIUgk1jkb+gy5srXc08Gi269ce3sEGy1FdxqRedq Tm0g== 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=8houcYe7KUIwDQbN8/wwPDt2OpHbE7pOYm4MOnfdoYo=; b=J8ZURqnMVW0ttqpOPn/SHADT3LB3URoAkffXlM7sN++Ca9dNwYnWsVfZPKq2zBWkjs 8v5tXdOGcsv6mLoi33f/cq8e6P1PB83IUjfyMsQqW27ngUsEeByoSiYrOTpdBfp4vveP JCxzGEDsPE8LdszMoVzrDx1mPIXI/fcDMMhMxmxZhAMKbkGCtJI8UZVRM0IbYDU/cCBq W3CyxwPa1n/TTkgwCkhoYD212dFQthQPPrAnvvT6MqdbhGKJnCdaqGm1YAx/DCqIba5v QPmhakTJnTcGxZUDXo/EXXu2mr7DoyWOix7n0WAVrAJFrB14Wkbj6b1D7Yjgs4Ng7nrC XHag== X-Gm-Message-State: ANhLgQ3wFk7sLDKCibxmu+2sETq4ISiZ2g6yjYSVihvOd0AY97Ro+wES H3UGxsgaO1rFJeoyCZDB9smh8cEKkkYxgQ== X-Google-Smtp-Source: ADFU+vuar8lwv6spxGxa9C1oKTSQWIBPXhMEOIxL8HB5UhgGfQ044Xi9MbalxkSAl54CX/wz9+8wvw== X-Received: by 2002:a05:6000:106:: with SMTP id o6mr10960969wrx.120.1583425869156; Thu, 05 Mar 2020 08:31:09 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 06/37] hw/arm/gumstix: Simplify since the machines are little-endian only Date: Thu, 5 Mar 2020 16:30:29 +0000 Message-Id: <20200305163100.22912-7-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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: Philippe Mathieu-Daud=C3=A9 As the Connex and Verdex machines only boot in little-endian, we can simplify the code. Reviewed-by: Peter Maydell Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Signed-off-by: Peter Maydell --- hw/arm/gumstix.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/hw/arm/gumstix.c b/hw/arm/gumstix.c index f26a0e8010f..3a4bc332c42 100644 --- a/hw/arm/gumstix.c +++ b/hw/arm/gumstix.c @@ -51,7 +51,6 @@ static void connex_init(MachineState *machine) { PXA2xxState *cpu; DriveInfo *dinfo; - int be; MemoryRegion *address_space_mem =3D get_system_memory(); =20 uint32_t connex_rom =3D 0x01000000; @@ -66,14 +65,9 @@ static void connex_init(MachineState *machine) exit(1); } =20 -#ifdef TARGET_WORDS_BIGENDIAN - be =3D 1; -#else - be =3D 0; -#endif if (!pflash_cfi01_register(0x00000000, "connext.rom", connex_rom, dinfo ? blk_by_legacy_dinfo(dinfo) : NULL, - sector_len, 2, 0, 0, 0, 0, be)) { + sector_len, 2, 0, 0, 0, 0, 0)) { error_report("Error registering flash memory"); exit(1); } @@ -87,7 +81,6 @@ static void verdex_init(MachineState *machine) { PXA2xxState *cpu; DriveInfo *dinfo; - int be; MemoryRegion *address_space_mem =3D get_system_memory(); =20 uint32_t verdex_rom =3D 0x02000000; @@ -102,14 +95,9 @@ static void verdex_init(MachineState *machine) exit(1); } =20 -#ifdef TARGET_WORDS_BIGENDIAN - be =3D 1; -#else - be =3D 0; -#endif if (!pflash_cfi01_register(0x00000000, "verdex.rom", verdex_rom, dinfo ? blk_by_legacy_dinfo(dinfo) : NULL, - sector_len, 2, 0, 0, 0, 0, be)) { + sector_len, 2, 0, 0, 0, 0, 0)) { error_report("Error registering flash memory"); exit(1); } --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426471; cv=none; d=zohomail.com; s=zohoarc; b=VynASaQmwiizpZkKRoPtK1VgE4SRRjCSfeplj61z8yBQa8+9jpYbzY3WMAqqlYmlGdRHF5knAuTcvTikXk04BE4ihaGJYuPOgaIHTEc2ve9egCS7j2FoDXWqf05q/2/zfFGkNT0qOevduGuT2b2RIAZLHFMWZBAWkmgzerfM5sQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426471; 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=YI5GZ4epbK0QXokUOGTMGNexzluV/B8yk7q3BWioDGk=; b=B7pVNUh9CxFuIsrUfpVtICydgq82hPAiQR1LFupRsYor+RJ1uOvCBU/8fvwmqLkLnkO+iamR7pmXN7mf0okCswSCxUcInWXGjlCZOX2s6IZwkUtr20LIZIP8GJyOwIw7vAF4BJuZ4m4WjjbnWzFRCurtWKoN5/8hknGO4Pov8us= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426470884611.1492472776247; Thu, 5 Mar 2020 08:41:10 -0800 (PST) Received: from localhost ([::1]:52626 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tYb-0002zV-TT for importer@patchew.org; Thu, 05 Mar 2020 11:41:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59116) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tOy-0003LM-UW for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tOx-0002A9-P6 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:12 -0500 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:44605) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tOx-00028f-Iq for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:11 -0500 Received: by mail-wr1-x435.google.com with SMTP id n7so7765761wrt.11 for ; Thu, 05 Mar 2020 08:31:11 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:09 -0800 (PST) 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=YI5GZ4epbK0QXokUOGTMGNexzluV/B8yk7q3BWioDGk=; b=TDN84NoGjXC5t+d7D7nIbb/WVInpK3kzG2As3XQFHfX2zdODHdGqAylKOMDChZLKQn RRPfQLoQr4Xg2hs+4s+K8CUOKFYQLnrx/tNjHn08cGCcVNvqRormitE4pLVxIbGBLoy0 VmIKgm3leaCEXtsCSiIXfPGUEHLkCGShmuVgbE7q+Fb7wB4L7p/F2ImmCc4+wqkySpic F2zcRguAiaQfK8ZnfkHkBbeI5RtcNNyfxlITAkvEmkNoYPKHR9GPSwWEUxXG2n4T8itD wn0yykaUHZxoUztlXIvxxF/jEAyh1n/ysDarS8EnTdaU3HILNnZBR7RVtEe5jfelIArS KLrg== 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=YI5GZ4epbK0QXokUOGTMGNexzluV/B8yk7q3BWioDGk=; b=KHdpeUZ5HnicfM84EZ7xzyz9ygsz18VYY6hoz+QOnCXi/KxEeQT0q797mmY113MIAn uBLKc/87GsMTzvY0j7O1a8LRrmne+Jut+X6zIcgZtmpGTnhDbABfwvN1O2ktZ8wjAmUb O1/bzifmYVFMZOZgKbFOf82QNvRt5fzgq0aLSw5yc5AvbIF4knfJvYPv8Sd53snoWgWw AGlAyse37zscKwYzW0c57NwVyBinEMzNIQPV44pqHRk2O6n5u6nLcuuidvwiH1MQmhpx Nb3YS1om+G5PG3cemNJq7JuA5+IkhYGEBFS/TWR/G7Pqo3k8LmPTPivXMaGIlwBAokVv 6RnA== X-Gm-Message-State: ANhLgQ3+1w58gMPpOltygIMi4mo8cyj0dWa4fI0WX2klpTeyu5J1uYoh Tl4t9gWFvkRvSxLvtUccEoPGR5ktriUwfQ== X-Google-Smtp-Source: ADFU+vvhnX+BE0WlaEjCIuy5F9tJJ7k9yC1EPocA+gPNUWyy6X3Iqaq+qT47qdHjrx8pI100VQR4fQ== X-Received: by 2002:adf:dd4d:: with SMTP id u13mr10989189wrm.70.1583425870318; Thu, 05 Mar 2020 08:31:10 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 07/37] hw/arm/mainstone: Simplify since the machines are little-endian only Date: Thu, 5 Mar 2020 16:30:30 +0000 Message-Id: <20200305163100.22912-8-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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: Philippe Mathieu-Daud=C3=A9 We only build the little-endian softmmu configurations. Checking for big endian is pointless, remove the unused code. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Signed-off-by: Peter Maydell --- hw/arm/mainstone.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/hw/arm/mainstone.c b/hw/arm/mainstone.c index 6e64dfab506..10420170866 100644 --- a/hw/arm/mainstone.c +++ b/hw/arm/mainstone.c @@ -119,7 +119,6 @@ static void mainstone_common_init(MemoryRegion *address= _space_mem, DeviceState *mst_irq; DriveInfo *dinfo; int i; - int be; MemoryRegion *rom =3D g_new(MemoryRegion, 1); =20 /* Setup CPU & memory */ @@ -130,11 +129,6 @@ static void mainstone_common_init(MemoryRegion *addres= s_space_mem, memory_region_set_readonly(rom, true); memory_region_add_subregion(address_space_mem, 0, rom); =20 -#ifdef TARGET_WORDS_BIGENDIAN - be =3D 1; -#else - be =3D 0; -#endif /* There are two 32MiB flash devices on the board */ for (i =3D 0; i < 2; i ++) { dinfo =3D drive_get(IF_PFLASH, 0, i); @@ -142,7 +136,7 @@ static void mainstone_common_init(MemoryRegion *address= _space_mem, i ? "mainstone.flash1" : "mainstone.fla= sh0", MAINSTONE_FLASH, dinfo ? blk_by_legacy_dinfo(dinfo) : NU= LL, - sector_len, 4, 0, 0, 0, 0, be)) { + sector_len, 4, 0, 0, 0, 0, 0)) { error_report("Error registering flash memory"); exit(1); } --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426046; cv=none; d=zohomail.com; s=zohoarc; b=Fxe8vH/U9yx7Fc0QZ5Eonp21XF84TWtxK4wq3K037SesrDxj5Dp6B5/2cDjPknO1012Jo4mFHxs1edah4m8gl+P7fuUnUJ2Xa6DUubMj1D5/mAwioJXSQHT6pqE/F46/Hw4GprmKoDdTwaQqiONLyG2mKYB1QPhUmXdLV+0+HGY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426046; 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=kriMcQzkMm95EhhcHWuzwV+BnRHVXDuG3tsQM4aq6Cw=; b=jekEu7lUJbSz0PeUHZ/TFiz5UQdbp5OATe9CloHizJBeFVLVaQkv2xBGZp/Ja/e64GbMPmHeldwjavou5KU60Xazymazi5chI8jTQqCkPiLAg2GtSG+0ZXpDXGrh0RKeXj6IaczB31oqh73OqZH5jv8+pZUUxYyr/eDLRDE1xKg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426046551409.66966105586323; Thu, 5 Mar 2020 08:34:06 -0800 (PST) Received: from localhost ([::1]:52442 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tRl-0007RP-Ar for importer@patchew.org; Thu, 05 Mar 2020 11:34:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59176) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tP4-0003QC-JV for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tOy-0002BB-V9 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:17 -0500 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:35110) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tOy-0002Ac-MC for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:12 -0500 Received: by mail-wr1-x441.google.com with SMTP id r7so7822185wro.2 for ; Thu, 05 Mar 2020 08:31:12 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:10 -0800 (PST) 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=kriMcQzkMm95EhhcHWuzwV+BnRHVXDuG3tsQM4aq6Cw=; b=k9Tak1XIl5hpRS2IycmEMeNJAl2hJxRw/4geQF27jaiogi8lSH4HeUzU2x5VxYT7K3 s24QmCAMNNOMYZARxiYBgZ7fGPJWiDYqlz4PI9/YVP8wN34yBoQAMFStI/hnEx/tp79b OCOfBJfw1Ob8++fdmnY07yuxKC4EoNc5n3sz36t12kYtzShPDc2Q0dslb7zbFQl1hGts 2zIfbjaRqRLv/WCXeWjdYV4rXC4Kxhouead59KgvIU4N0avNYb1pYNmIWtmF/IrSXO8t +UzGlbbcBsJAbxPYiRb0qbcclHZb4TrqLcZY1A8xLx+QriUV0lDDbsQ+puyPd0h8VCvi f78Q== 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=kriMcQzkMm95EhhcHWuzwV+BnRHVXDuG3tsQM4aq6Cw=; b=ZquwsIxlXErs/sck2bPQhU6sdpFfgfFdIFBuoleAIqxFhRtF8e+jU9xw32uArwfeD/ 8z3VhWyua7GO5cVBSE8K8doLvKdtL3G4cG+S17fMJhB3tTZ3tr5iZzK2EzpVOzYRvzxB qtdrXgwVIJVOeyj5tsOWiIhYge+5syA9CfRI4lcfJDtEFSADF6JnvGRgG1ULFfO50Kpv pUZmTpBAxtOc27RBxhihXIigjudTqiQruTaoMzqlxQVrQMJJ5AhRPQYRYxFHI7RrrzMt I01mpkIB0riMwbBPuj7TpqAtxJYrz7Q3IkM0y7LFKBajqZDkTv7cL4yTqBkRWE2ieqML xUDA== X-Gm-Message-State: ANhLgQ3kxxCZe9mmRyZySEkkRkqwx0xCPSeSU1IsebiF9sjPe4dSlOOR hekZPpb1/3n4TFbFGetN+pB/k3oiWJ34sQ== X-Google-Smtp-Source: ADFU+vv2nOB6gcwQFVx9X7UpbJB7rGuW1k7W+LyfeFmnyZwTO2+Z0uF92A/4C3sLElXfK5ryBk2v4Q== X-Received: by 2002:adf:ec50:: with SMTP id w16mr11311848wrn.9.1583425871400; Thu, 05 Mar 2020 08:31:11 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 08/37] hw/arm/omap_sx1: Simplify since the machines are little-endian only Date: Thu, 5 Mar 2020 16:30:31 +0000 Message-Id: <20200305163100.22912-9-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) From: Philippe Mathieu-Daud=C3=A9 We only build the little-endian softmmu configurations. Checking for big endian is pointless, remove the unused code. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Signed-off-by: Peter Maydell --- hw/arm/omap_sx1.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/hw/arm/omap_sx1.c b/hw/arm/omap_sx1.c index 2bebab4171b..de5ff447dcf 100644 --- a/hw/arm/omap_sx1.c +++ b/hw/arm/omap_sx1.c @@ -114,7 +114,6 @@ static void sx1_init(MachineState *machine, const int v= ersion) DriveInfo *dinfo; int fl_idx; uint32_t flash_size =3D flash0_size; - int be; =20 if (machine->ram_size !=3D mc->default_ram_size) { char *sz =3D size_to_str(mc->default_ram_size); @@ -154,17 +153,11 @@ static void sx1_init(MachineState *machine, const int= version) OMAP_CS2_BASE, &cs[3]); =20 fl_idx =3D 0; -#ifdef TARGET_WORDS_BIGENDIAN - be =3D 1; -#else - be =3D 0; -#endif - if ((dinfo =3D drive_get(IF_PFLASH, 0, fl_idx)) !=3D NULL) { if (!pflash_cfi01_register(OMAP_CS0_BASE, "omap_sx1.flash0-1", flash_size, blk_by_legacy_dinfo(dinfo), - sector_size, 4, 0, 0, 0, 0, be)) { + sector_size, 4, 0, 0, 0, 0, 0)) { fprintf(stderr, "qemu: Error registering flash memory %d.\n", fl_idx); } @@ -187,7 +180,7 @@ static void sx1_init(MachineState *machine, const int v= ersion) if (!pflash_cfi01_register(OMAP_CS1_BASE, "omap_sx1.flash1-1", flash1_size, blk_by_legacy_dinfo(dinfo), - sector_size, 4, 0, 0, 0, 0, be)) { + sector_size, 4, 0, 0, 0, 0, 0)) { fprintf(stderr, "qemu: Error registering flash memory %d.\n", fl_idx); } --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426130; cv=none; d=zohomail.com; s=zohoarc; b=elEC563XdnlHQ6B4AB4plEVQQZi8srmO9KuOHZFmjdiYYK1ErTD878TpeBDedNdSHzT3jf4vGG5VtYIIxbyNqgFo+sNJi2BXKCOb2AB4CYSukdSGdu0PrFtfUUePLppXYszpymQrrW3MXm5Z51goZBT/0BeGSAJ4Ijp0LVp5YVU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426130; 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=srKZx6+JQVSktw34hlVpZslhqf3wdIxhXrsJ7DiNWzA=; b=U6eR/fXROpXDZqNzmKHIf++hwibE4gdGnsaHqsLJJpiskISs7oZB3Ii1FQYAYtomJptc434lVYfpD2evIsy21au+bZUQsovgZUQs/LPlcjDZSt/4twE9jhlnR1nt+d3Uc6yrL7WZfleSabpzilKk35YZvNk8E41r+6STy+g1nQo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426130705417.6773133874111; Thu, 5 Mar 2020 08:35:30 -0800 (PST) Received: from localhost ([::1]:52474 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tT5-00017c-A7 for importer@patchew.org; Thu, 05 Mar 2020 11:35:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59145) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tP2-0003PB-ID for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tP0-0002CY-ID for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:15 -0500 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:37752) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tP0-0002Bc-Bu for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:14 -0500 Received: by mail-wr1-x442.google.com with SMTP id 6so2374682wre.4 for ; Thu, 05 Mar 2020 08:31:14 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:11 -0800 (PST) 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=srKZx6+JQVSktw34hlVpZslhqf3wdIxhXrsJ7DiNWzA=; b=qkka7/kLUm1EEp7zTZwq1HX5481ZQrz3D67GJgd1XpGMU0nnSIUDhHPCGD1//Et5Zc fdjpJiJM8bicRywBBkXbpe8l1Cg0TCUMES2oh3BcenRzGpEtFHhpmoETShqxxH7HVwwY D36AnmtI9X83ixxjV6EX+WOfpeI+NlAnCw98GLoq3rHg1kkqjckFRHXqyAyeuGz5zIpo UbdgCbfVcTsV6S+8ar/FljH3wPWNifA6C/SNagYcfImNZ45O2gwcqan96AS4p3wxGbM5 2GPqvF+cJjgYKl9cuMPcWTy3g4sAg+VTKjArdHYDJN6rF5Y0xGMvxABwR+oi73d2bL2A uL4Q== 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=srKZx6+JQVSktw34hlVpZslhqf3wdIxhXrsJ7DiNWzA=; b=GQKNi2GC8AV22AK0j8OzXN+UjOGz/srqXOGHSojNCp09shfvM/HILZWbo+DWft/9lZ Nv4z6zp1cdP2RVk858s03JUz7lIf8HVJL+0Hoba6YQ+cJ5+J12ARLMjI1Ur8ZQIKWura za+PpdOffmw5tH1LwS3/eeFHC3n5AXxg8S9kQtIRHugN8FHqK71mDIRZR25jFtlZr38e MZUN2PkSbdVFxbfH14bWvX+vROdPxvbXpE6DCKx/+puTutL3ZzVGpdaFuuRFIxatQxID emjo6Zo1Iv6TP1OKXZALX2DEie/BENof9rszoxIOifdIMPFf5G3ttYvze6G1vPu/cwOC djKQ== X-Gm-Message-State: ANhLgQ3K79mMMc2yOqmwjZem2HRxp3FnGqidG1YvC8Q+3NN52LJq1prp quIGR4dVCM7Bi+ryYEOTeACgwHg3NXeUFw== X-Google-Smtp-Source: ADFU+vstNPmWYtrPXoFBGj4ivzZE+cIIyKEo/uvnBpUUef2U8DJYBNtxe004leh6hbV0l4vhagNL6w== X-Received: by 2002:adf:a419:: with SMTP id d25mr11662565wra.210.1583425872994; Thu, 05 Mar 2020 08:31:12 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 09/37] hw/arm/z2: Simplify since the machines are little-endian only Date: Thu, 5 Mar 2020 16:30:32 +0000 Message-Id: <20200305163100.22912-10-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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: Philippe Mathieu-Daud=C3=A9 We only build the little-endian softmmu configurations. Checking for big endian is pointless, remove the unused code. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Signed-off-by: Peter Maydell --- hw/arm/z2.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/hw/arm/z2.c b/hw/arm/z2.c index 4bb237f22d2..a0f40959904 100644 --- a/hw/arm/z2.c +++ b/hw/arm/z2.c @@ -300,7 +300,6 @@ static void z2_init(MachineState *machine) uint32_t sector_len =3D 0x10000; PXA2xxState *mpu; DriveInfo *dinfo; - int be; void *z2_lcd; I2CBus *bus; DeviceState *wm; @@ -308,15 +307,10 @@ static void z2_init(MachineState *machine) /* Setup CPU & memory */ mpu =3D pxa270_init(address_space_mem, z2_binfo.ram_size, machine->cpu= _type); =20 -#ifdef TARGET_WORDS_BIGENDIAN - be =3D 1; -#else - be =3D 0; -#endif dinfo =3D drive_get(IF_PFLASH, 0, 0); if (!pflash_cfi01_register(Z2_FLASH_BASE, "z2.flash0", Z2_FLASH_SIZE, dinfo ? blk_by_legacy_dinfo(dinfo) : NULL, - sector_len, 4, 0, 0, 0, 0, be)) { + sector_len, 4, 0, 0, 0, 0, 0)) { error_report("Error registering flash memory"); exit(1); } --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583425984; cv=none; d=zohomail.com; s=zohoarc; b=WSf8FpBJYRi8d0MfuV4Ock2EZQidkKuSbFY/3gIAMdOqoIJC0QLkjGpBxYoFu/buJYJ+jDVaP7IbSD2Cnew5rFjn4TYNxQMdsGok8IPr0VoIicKiT0Qx0EPOSjS+0W5+3mvv8wYQHXZxImudNeCQ0RQoFRTeeb3vS7k2DSEJFvI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583425984; 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=WMI9IS/4151YY1zP87VIipDGkxKqiZ8SfaHL8luM++M=; b=IfGXnJYi5indZzWiT4Z6JE73RKv0lqVzQB1V1f7DW5JzODwZdSrwJqL0m9gIaP/9iwux6YNmg8vAAq+H7OiZbC0gKJ4ZmNGwF5WKDy3KFUkhdCyQnQYs3mqFnZDYpcicxWMtSyrsElhAXgSs5SaQhQD2DiEUGrVKXj0sOlhQ4vE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 15834259839631013.1543094277204; Thu, 5 Mar 2020 08:33:03 -0800 (PST) Received: from localhost ([::1]:52418 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tQk-0005IW-Rh for importer@patchew.org; Thu, 05 Mar 2020 11:33:02 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59146) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tP2-0003PC-In for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tP1-0002Cj-9b for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:16 -0500 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:37773) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tP1-0002CP-3T for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:15 -0500 Received: by mail-wm1-x344.google.com with SMTP id a141so6419368wme.2 for ; Thu, 05 Mar 2020 08:31:15 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:13 -0800 (PST) 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=WMI9IS/4151YY1zP87VIipDGkxKqiZ8SfaHL8luM++M=; b=XYt7hCQwRprSKxafrpUTVq/kH+AUDgIX3tqBY3+U5MsSxW95VJNZfEQJu7ZNdyilwi HnWU0AZBj0R0ba5CUm/VhPrXQPAItfibQJ5i5nJmT0K7E7nkSXeqhQVPBsGn+2RwesOd OIgYMSJ5EFxKMqnaTd2K/uQcbY8whz8esVleqrYKC8+Wk3quv4Fk7oVwBBKEwEDu8jZl M4OhuJlYSvs/jp36bGKpC1eW6RtaIT3zhgDL7fMDTIChYf1nf3L4f1bAhE2M3+3xJ5HH cffNGqLzsW5xC9PjZ4Qi7j2TTCGu9sZtIUo8+Fu8HDQYAtOFA2tCy0X2Zl0Jor1FAGr2 Rg3w== 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=WMI9IS/4151YY1zP87VIipDGkxKqiZ8SfaHL8luM++M=; b=bgWp6t4tujsl3XRbDFebgGK0XRHjqHFcbtK8N4Sx61Mo8R2YGYUi9BBUwhsyHurAZE 8xwBhB4ubLeFMAQkXWCIBlYA3ElxGBR1n+0jPyu5xXzH7Y4c6wUK5At6ioxdWi2eYtDQ VCRNSHUII1VsYrqN1qsK2sTUeStnohH6Yfp6APvXw75gidlvATDPpI41fcASPAOiBk9z 3mmPhacSVMtr4VW1NkzDZmcK+NqjGrkX3Y8uP54agw7vLF7NI0M6hTfo5KrZEPsUsJAy cjPK9MHfaa99JOPzo01rIBnrupnG3if+d0JaysLN4MOp2KIfCsuvjfnw20TSV3wXoy16 25gA== X-Gm-Message-State: ANhLgQ3OmTwWtNMuZ5fshqob2N3pOkl748o4V72kxEaiEza5+15c5esU BkMDuDJ9eXp0na+olCPzC8GpgkfXydF4Tw== X-Google-Smtp-Source: ADFU+vswPdjpIubOj0kyIUk0j1tsLOoXAuRHwGFJPLeZwjibKWsqBaXz1SgRT1vhk0BfzuPkCOYamA== X-Received: by 2002:a1c:9c87:: with SMTP id f129mr10719065wme.26.1583425873852; Thu, 05 Mar 2020 08:31:13 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 10/37] hw/arm/musicpal: Simplify since the machines are little-endian only Date: Thu, 5 Mar 2020 16:30:33 +0000 Message-Id: <20200305163100.22912-11-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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 We only build the little-endian softmmu configurations. Checking for big endian is pointless, remove the unused code. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Signed-off-by: Peter Maydell --- hw/arm/musicpal.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c index db8b03cb833..b2d0cfdac8a 100644 --- a/hw/arm/musicpal.c +++ b/hw/arm/musicpal.c @@ -1645,22 +1645,12 @@ static void musicpal_init(MachineState *machine) * 0xFF800000 (if there is 8 MB flash). So remap flash access if t= he * image is smaller than 32 MB. */ -#ifdef TARGET_WORDS_BIGENDIAN - pflash_cfi02_register(0x100000000ULL - MP_FLASH_SIZE_MAX, - "musicpal.flash", flash_size, - blk, 0x10000, - MP_FLASH_SIZE_MAX / flash_size, - 2, 0x00BF, 0x236D, 0x0000, 0x0000, - 0x5555, 0x2AAA, 1); -#else pflash_cfi02_register(0x100000000ULL - MP_FLASH_SIZE_MAX, "musicpal.flash", flash_size, blk, 0x10000, MP_FLASH_SIZE_MAX / flash_size, 2, 0x00BF, 0x236D, 0x0000, 0x0000, 0x5555, 0x2AAA, 0); -#endif - } sysbus_create_simple(TYPE_MV88W8618_FLASHCFG, MP_FLASHCFG_BASE, NULL); =20 --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426014; cv=none; d=zohomail.com; s=zohoarc; b=fRjXIPcJIYiFRGkwxKjVxNdgs6aOn1MOtV2WoY5JOpPaB40ruI8D4suisSvswLlNrWLxfmmDb4jcmzVUpbd344tuaY+E2aUWgxBcxv5YAvvCGylNclDT3Fw4mn5qpxGJQL8VXzAhB6bWQ3Lq/DGKAlMyNWrBNPDmmSk4GT17riM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426014; 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=GAoBKDlZfxCwYkYrGHnP4g29Dujg66/yINbEGmDpBFY=; b=bpam4i4M4wo39HDfI7es+/CJlbHkXMyNdEupnETOp/ZE+0CbvyE2k0ZC7jMKG8Vp50HLX3YGdMnrt1l8+Y16qMC93w3iQjUtn8Z9Uu96t9W1vEDxGyC/OtGZkFhuvdz5qWwUA1RhopWX9MvEFhw2rxjfscMwlRnR1QSPuEMS898= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426014765311.914278507335; Thu, 5 Mar 2020 08:33:34 -0800 (PST) Received: from localhost ([::1]:52430 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tRF-0005s9-MN for importer@patchew.org; Thu, 05 Mar 2020 11:33:33 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59177) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tP4-0003QE-KB for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tP2-0002ER-O5 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:18 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:53657) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tP2-0002Cz-Gm for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:16 -0500 Received: by mail-wm1-x329.google.com with SMTP id g134so7043542wme.3 for ; Thu, 05 Mar 2020 08:31:16 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:14 -0800 (PST) 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=GAoBKDlZfxCwYkYrGHnP4g29Dujg66/yINbEGmDpBFY=; b=SbMhz/LzQEGinciFRS2RibMCmnMpc4yM1hwoVDo43pfN81w9hLjnpkeUNxReEo9Ak7 AT4TW8z6bPKTjTNva0zP+rrfnocyj0B7fH6Qq+NHm6qoobl1xpd0U8KphzZZWSFeHacs 6OQxYtfKzjhLMvBkkrbWAv16iD7I6i+nmlZzrslAZ1BtbbnSDI7TEIsO3nRksMjeFai7 WJs4IFxcj4bTtevlli84HopAojPbCj9rtGtm09QfUmqI9raZXxFtJFdUMznQS7oc2DsN 1H7g9ZUaxEAKUcz6c0OE6d4BZNjS+nn3lW0lN7TzVoSgmwtlfQ+umyIfw3hJful/GW3N Ca6g== 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=GAoBKDlZfxCwYkYrGHnP4g29Dujg66/yINbEGmDpBFY=; b=iltEX3YABWaJi0p8r3/L4aM0ElTmb5hnQlBUVua+ISS8rEr2VzxdsVgzZXr0O4W3Us H2ORi36yD53vGqHuGW40IMkz6HQ3dz4ght7A8sNgujQpX4lR6mjppsKXCABcKmRJyxzV Euhg65OVkGYX37TRe4T+PwDtccMXfxmqsYAIWVgHBq9HlYyQyZAyQjPPzSaBV1dR+pIc 9iNEBl8SGhMXmjAr/8/fvaLDtMGQrZy7fMqqK5/u7Y39NlWJgCVwwb6MqYOQbGxrQ8Gr JwRqfVp5oHo0D6rIWUNSrUoQ1Tl0P9DX0XUIwsECvhHiM+v2GD8FA9UJ11o4cJGo/BED TKWg== X-Gm-Message-State: ANhLgQ0N00lHTjiMGP+Xayy7wt/m/7VPgfLmpXEeWeMGL8VZqCQDcOm3 HvSlECW+c0FdCCA2bSU5Vyah3tJMgYUMNQ== X-Google-Smtp-Source: ADFU+vtgKIc5ohNp4lmALMiD1zOHW42Ht0TolAghhv1943wqZZ+uj3jwKDMIJsBRyvRrOH9z4Phg1Q== X-Received: by 2002:a1c:a1c2:: with SMTP id k185mr1541615wme.164.1583425874807; Thu, 05 Mar 2020 08:31:14 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 11/37] hw/arm/pxa2xx: move timer_new from init() into realize() to avoid memleaks Date: Thu, 5 Mar 2020 16:30:34 +0000 Message-Id: <20200305163100.22912-12-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) Content-Type: text/plain; charset="utf-8" From: Pan Nengyuan There are some memleaks when we call 'device_list_properties'. This patch m= ove timer_new from init into realize to fix it. Reported-by: Euler Robot Signed-off-by: Pan Nengyuan Message-id: 20200227025055.14341-3-pannengyuan@huawei.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/arm/pxa2xx.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c index b33f8f1351f..56a36202d71 100644 --- a/hw/arm/pxa2xx.c +++ b/hw/arm/pxa2xx.c @@ -1134,18 +1134,22 @@ static void pxa2xx_rtc_init(Object *obj) s->last_rtcpicr =3D 0; s->last_hz =3D s->last_sw =3D s->last_pi =3D qemu_clock_get_ms(rtc_clo= ck); =20 + sysbus_init_irq(dev, &s->rtc_irq); + + memory_region_init_io(&s->iomem, obj, &pxa2xx_rtc_ops, s, + "pxa2xx-rtc", 0x10000); + sysbus_init_mmio(dev, &s->iomem); +} + +static void pxa2xx_rtc_realize(DeviceState *dev, Error **errp) +{ + PXA2xxRTCState *s =3D PXA2XX_RTC(dev); s->rtc_hz =3D timer_new_ms(rtc_clock, pxa2xx_rtc_hz_tick, s); s->rtc_rdal1 =3D timer_new_ms(rtc_clock, pxa2xx_rtc_rdal1_tick, s); s->rtc_rdal2 =3D timer_new_ms(rtc_clock, pxa2xx_rtc_rdal2_tick, s); s->rtc_swal1 =3D timer_new_ms(rtc_clock, pxa2xx_rtc_swal1_tick, s); s->rtc_swal2 =3D timer_new_ms(rtc_clock, pxa2xx_rtc_swal2_tick, s); s->rtc_pi =3D timer_new_ms(rtc_clock, pxa2xx_rtc_pi_tick, s); - - sysbus_init_irq(dev, &s->rtc_irq); - - memory_region_init_io(&s->iomem, obj, &pxa2xx_rtc_ops, s, - "pxa2xx-rtc", 0x10000); - sysbus_init_mmio(dev, &s->iomem); } =20 static int pxa2xx_rtc_pre_save(void *opaque) @@ -1203,6 +1207,7 @@ static void pxa2xx_rtc_sysbus_class_init(ObjectClass = *klass, void *data) =20 dc->desc =3D "PXA2xx RTC Controller"; dc->vmsd =3D &vmstate_pxa2xx_rtc_regs; + dc->realize =3D pxa2xx_rtc_realize; } =20 static const TypeInfo pxa2xx_rtc_sysbus_info =3D { --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426985; cv=none; d=zohomail.com; s=zohoarc; b=lSoFOpzVoPyyfAUzOkNaLYxlV/OHADXo/KE11irJb1LpMPXDmqQG755fwP6T/krw5YIY3bWB4ynpSPYpJiCA2J49qKYqSYMqzKS0yplZD8z29EmJbio5Y0n9NN8evFE8ZvcEszHbqZP2jnlj6dnYztQZZ33zqvkAnWqSOO7lxHA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426985; 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=WO6MlmMNplhxoUnWkFVSAFSYs5grFV+Q/M4i3h2rCwI=; b=PzCy8tnOldk8bKrmk/fdSxcR2hNGXSPzraVt1u/Pl+PiIGsocE+RCayUfvO+Og0yWsGsEEvUgV3Ef47nu+ZJQEuwfdnwlZJNfNstuinKZtjXHiUjbOe3BH2b/ejz6Fsd75vej6Ut2I6w6ThTNwx7vZd3ut3eB0OPRvVXSwu4nf4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426985754859.1198520314655; Thu, 5 Mar 2020 08:49:45 -0800 (PST) Received: from localhost ([::1]:52852 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tgu-0007vL-EO for importer@patchew.org; Thu, 05 Mar 2020 11:49:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59206) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tP5-0003RA-Hu for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tP4-0002G6-C4 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:19 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:36171) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tP3-0002Du-Dq for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:17 -0500 Received: by mail-wm1-x32b.google.com with SMTP id g83so6437339wme.1 for ; Thu, 05 Mar 2020 08:31:16 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:15 -0800 (PST) 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=WO6MlmMNplhxoUnWkFVSAFSYs5grFV+Q/M4i3h2rCwI=; b=NVmGKZWSoiLVIP8O3WoaGkAUz+Cwo9gHnE4fr602Lc/OPm1pksvXMY/AmTmPX5ZvY1 kGUntyocYKQJmSPgwceDbWAc2A2oxUSvp2EWDW/xPqtc5KJDkzmx3luWbEh9j+P+AVVT CvmAIm5J50OcqxVuLdywePGr4YURErBGZ6TWIlwUkKRRPusg6gKgWqjIxWSK1iIDo+5W OycPUMwGehkXZUy6RVYs2mqN9//NZAHolvOdV+gm8wJgyFgSmYBi1dAsdSdicGnB/cqy 74xDOTMVtjq/4bVIaD32P+oJYTXA2GC6JEyUVsn3FYKqpl1kRGgUqnx+pQJt4sOaTNa5 S6eA== 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=WO6MlmMNplhxoUnWkFVSAFSYs5grFV+Q/M4i3h2rCwI=; b=Si9NUW3CHwZRfKiS/ssb6JO1v+AEFI+qt2YDbqmFPTaK4QkaGZuosw6hR/oYkytk/g uX2U1m91cfA+K430/LaFMkRMHBTj6YB0c3zhbMjK3wJ1VbFW0dZrPw3myrhWCvroweCR 2GKfe3ZbW9dTyspIfBk7zm02dQgW6jsr6ZpzJTeZEuCJ3wT9XDOWwDTOYKWWGo9ppPec eDXEgixtm75PTmOKR9GoloMXe/TIYBDWCMUCCe4SGnsY2p1zPdURWLZbXw54s0PsLOu1 k6DPKhH4eo6uy5hzWcrIBYtPJgYhUnP2Ks1GpJVMtEF3RUwE3/21cS9cy80yclSBXzjB NPPg== X-Gm-Message-State: ANhLgQ3meMMBqWbalm/x5F6XmeYIL0cT+bmNJmp+3B24pFj0elfgUlIL f9gh2X+b9xBF0mbLws0YHvSjSPjvzE88RQ== X-Google-Smtp-Source: ADFU+vu04e27+PF5VuIm571xYGq16mhP3QUoIWGP8gj7MiYzTCrSndGbPW3PL3pvfs1e5HUcC1L2ow== X-Received: by 2002:a05:600c:4108:: with SMTP id j8mr10357134wmi.188.1583425875784; Thu, 05 Mar 2020 08:31:15 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 12/37] hw/arm/spitz: move timer_new from init() into realize() to avoid memleaks Date: Thu, 5 Mar 2020 16:30:35 +0000 Message-Id: <20200305163100.22912-13-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::32b 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: Pan Nengyuan There are some memleaks when we call 'device_list_properties'. This patch m= ove timer_new from init into realize to fix it. Reported-by: Euler Robot Signed-off-by: Pan Nengyuan Message-id: 20200227025055.14341-4-pannengyuan@huawei.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/arm/spitz.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c index e0010881038..cbfa6934cfd 100644 --- a/hw/arm/spitz.c +++ b/hw/arm/spitz.c @@ -524,11 +524,16 @@ static void spitz_keyboard_init(Object *obj) =20 spitz_keyboard_pre_map(s); =20 - s->kbdtimer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, spitz_keyboard_tick, = s); qdev_init_gpio_in(dev, spitz_keyboard_strobe, SPITZ_KEY_STROBE_NUM); qdev_init_gpio_out(dev, s->sense, SPITZ_KEY_SENSE_NUM); } =20 +static void spitz_keyboard_realize(DeviceState *dev, Error **errp) +{ + SpitzKeyboardState *s =3D SPITZ_KEYBOARD(dev); + s->kbdtimer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, spitz_keyboard_tick, = s); +} + /* LCD backlight controller */ =20 #define LCDTG_RESCTL 0x00 @@ -1115,6 +1120,7 @@ static void spitz_keyboard_class_init(ObjectClass *kl= ass, void *data) DeviceClass *dc =3D DEVICE_CLASS(klass); =20 dc->vmsd =3D &vmstate_spitz_kbd; + dc->realize =3D spitz_keyboard_realize; } =20 static const TypeInfo spitz_keyboard_info =3D { --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426668; cv=none; d=zohomail.com; s=zohoarc; b=QcJNI8tqjzEL/TdPCdx/1kiPtb9F/43XuGFIBksEeQCMjCJp9AyrjuE/eoznlYvxXXAO//PRdbOexIO41dau6h4nuK2/+BHDMOzhpFmBbEDy+ehUc8gM66MBcr65rFrcB2wWvysd5NgR7sE+sylD26Uk9dz141kSdr+9yS/T5VE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426668; 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=WBubcm43hZcBFxzyb7e4AboA5LBFrKCvg3PbaEHjM5U=; b=CLCLqKeqb1/Z+jsap8Ha9lWT5ZSlIlzDc44kn7hA9BmZMLZ1533ZumY9RmDch7as9dLiX5G2fPIZtY8i/7SAWLvRS1Iugqgn31/L0Ne/nFYlL/ttrjzKx4KwEJ7uMTiv+LaFcG3ykL9arJhMkZN4x35FlN556pPbntbJ+3rrcyA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426668536619.0258642724768; Thu, 5 Mar 2020 08:44:28 -0800 (PST) Received: from localhost ([::1]:52706 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tbn-0007em-Ff for importer@patchew.org; Thu, 05 Mar 2020 11:44:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59214) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tP6-0003Ru-1p for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tP4-0002Ge-Ob for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:19 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:38032) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tP4-0002F7-Hf for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:18 -0500 Received: by mail-wm1-x331.google.com with SMTP id u9so6432649wml.3 for ; Thu, 05 Mar 2020 08:31:18 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:16 -0800 (PST) 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=WBubcm43hZcBFxzyb7e4AboA5LBFrKCvg3PbaEHjM5U=; b=N0a1uH7Y2UzJakzCzlzWALcLXVi7TOQhgU/Ojxs0yB/A2UKDXyD+TnMhNp+Z1WoAR/ P00rHiPFL5XHauhlBbVTRLCamnyXlFWVo2O4E2IfZOnxhxhh9dqD/Hv2yhI0T/CoY8Z4 oPU6hAauS3NYvAIm+cWShrWRZhzMbRXtkxJfO9nr/4rmrgJJXqBNNeUo0it5kU2vMwvg /1boaYjFjCUKNPAl09CJy3Ku/iEuvCQ5FZRzdQxTPv1+TWd9bUre9gtK/Tv3CBi26ETR ualmbs0aDzCqoZzwGCr1uaYUl7Njyyx49SOoCbX/xELMb/jaDpq2pkrPTWRHuJyWjxX1 n5+g== 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=WBubcm43hZcBFxzyb7e4AboA5LBFrKCvg3PbaEHjM5U=; b=kW2wGqTF8nK+jtqwKsgUYXEd8xLX14dpq9mgEgGb2Hc6ZhlCwVpUhNqTSSfJ4otHEA rS7MLCKgg9yWmyFNXEEMEbyfUHEkZpD+yFv2Y0dwhODcX8sINlkJ6mqir9TiKRoOsbxl oHYwBzmEjqHuJ9f3NRyHYnNyGVtYx8/XOLYPwHWwlrJTxF7oC6o5TcCkU6VtQUJ7jKQb 3da/3KVMCX3neOOySUD6ueD9n3/fGo8bJ0c3m/SEZLjoMKcGGPX5A7GgBeR2Sf+4br/G Qls4/BC57kxiNwVcWO9GEegfSbMjMKUkKAegT0LC/PjP4Z37dFf+jS2tcO2vZasL02/4 7YpQ== X-Gm-Message-State: ANhLgQ2tDJDYAOHQa93ysj0eF8GS0UXdrh6991l8me6iu0fpA/7bm9Cz h7udbNhgfRPHjK4ws86HSOvLXz4jv/oeHA== X-Google-Smtp-Source: ADFU+vsFkDCCNv8FBWpbIXcTB9AD6o+4pIUSR+N/D6PT7jlsrB9CIlhIOod+G9IiW+h4MpH9ujGBcg== X-Received: by 2002:a05:600c:2255:: with SMTP id a21mr6282568wmm.91.1583425876750; Thu, 05 Mar 2020 08:31:16 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 13/37] hw/arm/strongarm: move timer_new from init() into realize() to avoid memleaks Date: Thu, 5 Mar 2020 16:30:36 +0000 Message-Id: <20200305163100.22912-14-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::331 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: Pan Nengyuan There are some memleaks when we call 'device_list_properties'. This patch m= ove timer_new from init into realize to fix it. Reported-by: Euler Robot Signed-off-by: Pan Nengyuan Message-id: 20200227025055.14341-5-pannengyuan@huawei.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/arm/strongarm.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c index cd8a99aaf2e..3010d765bb7 100644 --- a/hw/arm/strongarm.c +++ b/hw/arm/strongarm.c @@ -399,9 +399,6 @@ static void strongarm_rtc_init(Object *obj) s->last_rcnr =3D (uint32_t) mktimegm(&tm); s->last_hz =3D qemu_clock_get_ms(rtc_clock); =20 - s->rtc_alarm =3D timer_new_ms(rtc_clock, strongarm_rtc_alarm_tick, s); - s->rtc_hz =3D timer_new_ms(rtc_clock, strongarm_rtc_hz_tick, s); - sysbus_init_irq(dev, &s->rtc_irq); sysbus_init_irq(dev, &s->rtc_hz_irq); =20 @@ -410,6 +407,13 @@ static void strongarm_rtc_init(Object *obj) sysbus_init_mmio(dev, &s->iomem); } =20 +static void strongarm_rtc_realize(DeviceState *dev, Error **errp) +{ + StrongARMRTCState *s =3D STRONGARM_RTC(dev); + s->rtc_alarm =3D timer_new_ms(rtc_clock, strongarm_rtc_alarm_tick, s); + s->rtc_hz =3D timer_new_ms(rtc_clock, strongarm_rtc_hz_tick, s); +} + static int strongarm_rtc_pre_save(void *opaque) { StrongARMRTCState *s =3D opaque; @@ -451,6 +455,7 @@ static void strongarm_rtc_sysbus_class_init(ObjectClass= *klass, void *data) =20 dc->desc =3D "StrongARM RTC Controller"; dc->vmsd =3D &vmstate_strongarm_rtc_regs; + dc->realize =3D strongarm_rtc_realize; } =20 static const TypeInfo strongarm_rtc_sysbus_info =3D { @@ -1240,15 +1245,16 @@ static void strongarm_uart_init(Object *obj) "uart", 0x10000); sysbus_init_mmio(dev, &s->iomem); sysbus_init_irq(dev, &s->irq); - - s->rx_timeout_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, strongarm_uar= t_rx_to, s); - s->tx_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, strongarm_uart_tx, s); } =20 static void strongarm_uart_realize(DeviceState *dev, Error **errp) { StrongARMUARTState *s =3D STRONGARM_UART(dev); =20 + s->rx_timeout_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, + strongarm_uart_rx_to, + s); + s->tx_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, strongarm_uart_tx, s); qemu_chr_fe_set_handlers(&s->chr, strongarm_uart_can_receive, strongarm_uart_receive, --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426182; cv=none; d=zohomail.com; s=zohoarc; b=SXI/YG/huHPpuEM7ZJI5a0S/GYoKB3yDeUUretKujSeOPBtPFCCtLDGWHcVegvRjm2tj84Ith3TcmpxR07G86y1Ts2V5h1Ez+tyQHmBdNSEzuGQ28cIf2sahAsyHgHu+nCWoaIEkN7HEFu5c15Ef29ga2gALU7vAXtawYC1LZkU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426182; 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=3GK41nG/OoUPXZ9s0SYYzwW0XMBSCvTJmH8pW+e8Jw8=; b=DUEWCrCgifbJDWbC+uy8ZVSd4PFc8LcZXzzV4rZrMsc/TTwO50uHUlUP1fhiRBno2xSMAylcikSH+VZz/XaIhYuyNkkg4hp+Ti6nI7FbPHNrUmD0vHk6eJ/oBUhQuRf65H9Ld16hXeyFUmvYJ9r1vSjuMxujFwmKlcGIIfkjxZ4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426182226315.7978203463107; Thu, 5 Mar 2020 08:36:22 -0800 (PST) Received: from localhost ([::1]:52502 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tTv-0002zx-Vs for importer@patchew.org; Thu, 05 Mar 2020 11:36:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59220) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tP6-0003S3-HH for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tP5-0002HS-B9 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:20 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:38951) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tP5-0002GO-52 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:19 -0500 Received: by mail-wm1-x329.google.com with SMTP id j1so6421149wmi.4 for ; Thu, 05 Mar 2020 08:31:19 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:17 -0800 (PST) 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=3GK41nG/OoUPXZ9s0SYYzwW0XMBSCvTJmH8pW+e8Jw8=; b=c16OyJIc/hZ0Zou0sp0AnJXZWpb2lpshAHN5j0ff/dGNAh7x9PJC6vvpszBC4Q/9d2 hFC4FP1zlEEN/Q3mkoipJwxFB/WeR+9Vkzu75STlsZse4FiDy2K1bfBScE19o4pptpjC 0/YxYrSjAEPMXxTfZbpVoj6vjedrV01soOaFw5FZ5FoBLolvKDooFt5Xm07RmZiXpMPd eEIZIggUum6U7xpuXX4AvkltfThWp3sLVRjG/ModDI7XYXX3j3yTyYLRAIyp5k1KewkQ u/iylW8ADsRsGam5sy0CwsBoh5x2em47vApEA1OYHcl8v5BqOR2MxKZhOBHpfk3Cmvtv HieA== 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=3GK41nG/OoUPXZ9s0SYYzwW0XMBSCvTJmH8pW+e8Jw8=; b=khwg7fefMJUj4GDqBDHKTeYnkspjWKqQn7bre+jdzgn+N8pERTuKp1EtJ7nQ55HPi4 8OQANdaumJ8Ig4PVRzrtGAHwMTGzD9Vf50xdtQPzKOUpvfjKFDpFCbdi+rsGSdqQNWEp aaO3IaMPLkYDax6WownWBW7MWEZ3kYeA+tUPpqP+xMl1jj1n6KBykm3wEdErQn7yZLuV VnH3BgSJgXg5848Al0DhZV7A606Wi9sqAwa32u1wWLPwEXNA0WrmXfv9dqvmYu3ETUCr 3kGBfHUqHsaS1PwY4zP/qFzfdrjNBhhNCSJ/NUBTzM5p/cBOATK5t68ZuFLDWv5O0O3G lwRA== X-Gm-Message-State: ANhLgQ15wNunNj0CnjGKCvlyDuVwkyCm+b3mOHN8Nb6uaWQQj0TiGHdJ TyYdIVqMl9GOOnHdACHyDFqRHaxmlQmRVg== X-Google-Smtp-Source: ADFU+vu1xYX3jmOugfIzZdbMNUJW/m3L0ZEpHE3+CnwLVnGTEcPsEpJaEVbPe1t5UC34S6Spte1apg== X-Received: by 2002:a1c:9a45:: with SMTP id c66mr6239189wme.115.1583425877865; Thu, 05 Mar 2020 08:31:17 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 14/37] hw/timer/cadence_ttc: move timer_new from init() into realize() to avoid memleaks Date: Thu, 5 Mar 2020 16:30:37 +0000 Message-Id: <20200305163100.22912-15-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) Content-Type: text/plain; charset="utf-8" From: Pan Nengyuan There are some memleaks when we call 'device_list_properties'. This patch m= ove timer_new from init into realize to fix it. Reported-by: Euler Robot Signed-off-by: Pan Nengyuan Reviewed-by: Alistair Francis Message-id: 20200227025055.14341-7-pannengyuan@huawei.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/timer/cadence_ttc.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/hw/timer/cadence_ttc.c b/hw/timer/cadence_ttc.c index 5e3128c1e37..b0ba6b2bbae 100644 --- a/hw/timer/cadence_ttc.c +++ b/hw/timer/cadence_ttc.c @@ -412,18 +412,23 @@ static void cadence_timer_init(uint32_t freq, Cadence= TimerState *s) static void cadence_ttc_init(Object *obj) { CadenceTTCState *s =3D CADENCE_TTC(obj); - int i; - - for (i =3D 0; i < 3; ++i) { - cadence_timer_init(133000000, &s->timer[i]); - sysbus_init_irq(SYS_BUS_DEVICE(obj), &s->timer[i].irq); - } =20 memory_region_init_io(&s->iomem, obj, &cadence_ttc_ops, s, "timer", 0x1000); sysbus_init_mmio(SYS_BUS_DEVICE(obj), &s->iomem); } =20 +static void cadence_ttc_realize(DeviceState *dev, Error **errp) +{ + CadenceTTCState *s =3D CADENCE_TTC(dev); + int i; + + for (i =3D 0; i < 3; ++i) { + cadence_timer_init(133000000, &s->timer[i]); + sysbus_init_irq(SYS_BUS_DEVICE(dev), &s->timer[i].irq); + } +} + static int cadence_timer_pre_save(void *opaque) { cadence_timer_sync((CadenceTimerState *)opaque); @@ -479,6 +484,7 @@ static void cadence_ttc_class_init(ObjectClass *klass, = void *data) DeviceClass *dc =3D DEVICE_CLASS(klass); =20 dc->vmsd =3D &vmstate_cadence_ttc; + dc->realize =3D cadence_ttc_realize; } =20 static const TypeInfo cadence_ttc_info =3D { --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583427119; cv=none; d=zohomail.com; s=zohoarc; b=HvYHzzAIvC3Z/wurGO+H3QAEARtjv8pp8+teaQMscv7M2S33HtEptoCmbcpnWnZg/OMfgL5zyrkmdzei8tmzq3JoI0T8iLiP/3dqe9nW0Ieb7LXSjtKaSSU4mmUSQO437nVxi6AybW4i9SaeDDY5nULFybs9a9/cb7i0YVY49PE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583427119; 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=NFX4grdK7w+WKiMmZVSRsIqgwMx/D40LsR4lowSjx90=; b=j0zqKTJHZLIbkU3rsD/3D2knovxfAz6JBn99dpNUqg9TM08C4opwNBnrH6zJ7lxtFo0nj6oOx/oBf9NI1ySBnqcT9NKKC6QAd9O0j5YvLKPbHfcAoCeVEdg3ZUKlTTqbtytLSFGyf1LXcm5w3FC0Mon/SBxA2h5tSEG6Wa3SwnU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583427119868901.9296445223324; Thu, 5 Mar 2020 08:51:59 -0800 (PST) Received: from localhost ([::1]:52928 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tj4-0003UZ-NG for importer@patchew.org; Thu, 05 Mar 2020 11:51:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59240) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tP7-0003UR-NA for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tP6-0002Ik-Ee for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:21 -0500 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:33724) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tP6-0002Hw-7t for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:20 -0500 Received: by mail-wr1-x443.google.com with SMTP id x7so7821770wrr.0 for ; Thu, 05 Mar 2020 08:31:20 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:18 -0800 (PST) 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=NFX4grdK7w+WKiMmZVSRsIqgwMx/D40LsR4lowSjx90=; b=VXpisTyWDwzKNQfaLDE3js9GFYi5ve+XisvQF7gNpmMioLoT1hoGAxxG7bkq1B+kk/ XmQ41G42W0/Td9TGwfSD9KA5lR/20sz4dsdB8M1jfhgqaCgAJ3CwowAlpLGDbdSRPv2i qf7DnDyAxho+6EyArx/f3a1WAZm9Ldb5costwCCP1r8x7CIbuwrFHbrljCiIK0EEyqQ2 9TfhLfPJR7N6ZwpdjywRZLqgO4ZT6n65MUDzeDu9eiHwjrlyLxBkQZEdc7O0OdKFdkVj aAyOPygE7TKpwttpm/FiBQm4lQ4TQKnfJUybN2AGfJZznK8CBr8dc6e2RvSXuGwYX9Bx VrJA== 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=NFX4grdK7w+WKiMmZVSRsIqgwMx/D40LsR4lowSjx90=; b=HIEjKaWib3tL3qABu8ZjaW231ufVJMZP+lzbT0OjnWfrJGbl85biH5gXpi3gU8SLnK /USfgPRjH9nV2nad1FpRefByhpTmiBKcl96WBKult8o+8HLCBUBhvqoQ0OwhGzruPwPA NteqEYmoh3wXJzl24Ikte+5P7uNchoVfgyFIe2RtYnIzTKsoX2ihJdRYW1RHFfwWv76b Xct2hFg/9t2GVm8lHlAsBj572hKHSpgiADvpwlfVQgG3KY/7+kiAHfVkrbtUvGKZ+Fd2 MFRuILEEYp9j0f37za6jX6R8gMxYfJTpW4a9ObS6oOgx/1HLJaooo3URbPQr8RHxkXpJ au/Q== X-Gm-Message-State: ANhLgQ2BLy0hYBnPsEgwDF58Tjb9AQHg5RjKfXEuv2spYSGossK5FJTm rpP6bKmPoRinXX9A57K2O/z0DIk/yY9fhg== X-Google-Smtp-Source: ADFU+vtHXZJyxuiPPM248NGfc5c3JIUcew3Cq8vbd6FahCicgq7EnV7RIFPwG27s5OYyBVWR9ZKUNQ== X-Received: by 2002:adf:eccd:: with SMTP id s13mr10598329wro.278.1583425878824; Thu, 05 Mar 2020 08:31:18 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 15/37] target/arm: Improve masking of HCR/HCR2 RES0 bits Date: Thu, 5 Mar 2020 16:30:38 +0000 Message-Id: <20200305163100.22912-16-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) Content-Type: text/plain; charset="utf-8" From: Richard Henderson Don't merely start with v8.0, handle v7VE as well. Ensure that writes from aarch32 mode do not change bits in the other half of the register. Protect reads of aa64 id registers with ARM_FEATURE_AARCH64. Suggested-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20200229012811.24129-2-richard.henderson@linaro.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/arm/helper.c | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 4eaf7333c7b..19a8be84938 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -5086,11 +5086,15 @@ static const ARMCPRegInfo el3_no_el2_v8_cp_reginfo[= ] =3D { REGINFO_SENTINEL }; =20 -static void hcr_write(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t v= alue) +static void do_hcr_write(CPUARMState *env, uint64_t value, uint64_t valid_= mask) { ARMCPU *cpu =3D env_archcpu(env); - /* Begin with bits defined in base ARMv8.0. */ - uint64_t valid_mask =3D MAKE_64BIT_MASK(0, 34); + + if (arm_feature(env, ARM_FEATURE_V8)) { + valid_mask |=3D MAKE_64BIT_MASK(0, 34); /* ARMv8.0 */ + } else { + valid_mask |=3D MAKE_64BIT_MASK(0, 28); /* ARMv7VE */ + } =20 if (arm_feature(env, ARM_FEATURE_EL3)) { valid_mask &=3D ~HCR_HCD; @@ -5104,14 +5108,17 @@ static void hcr_write(CPUARMState *env, const ARMCP= RegInfo *ri, uint64_t value) */ valid_mask &=3D ~HCR_TSC; } - if (cpu_isar_feature(aa64_vh, cpu)) { - valid_mask |=3D HCR_E2H; - } - if (cpu_isar_feature(aa64_lor, cpu)) { - valid_mask |=3D HCR_TLOR; - } - if (cpu_isar_feature(aa64_pauth, cpu)) { - valid_mask |=3D HCR_API | HCR_APK; + + if (arm_feature(env, ARM_FEATURE_AARCH64)) { + if (cpu_isar_feature(aa64_vh, cpu)) { + valid_mask |=3D HCR_E2H; + } + if (cpu_isar_feature(aa64_lor, cpu)) { + valid_mask |=3D HCR_TLOR; + } + if (cpu_isar_feature(aa64_pauth, cpu)) { + valid_mask |=3D HCR_API | HCR_APK; + } } =20 /* Clear RES0 bits. */ @@ -5143,12 +5150,17 @@ static void hcr_write(CPUARMState *env, const ARMCP= RegInfo *ri, uint64_t value) arm_cpu_update_vfiq(cpu); } =20 +static void hcr_write(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t v= alue) +{ + do_hcr_write(env, value, 0); +} + static void hcr_writehigh(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t value) { /* Handle HCR2 write, i.e. write to high half of HCR_EL2 */ value =3D deposit64(env->cp15.hcr_el2, 32, 32, value); - hcr_write(env, NULL, value); + do_hcr_write(env, value, MAKE_64BIT_MASK(0, 32)); } =20 static void hcr_writelow(CPUARMState *env, const ARMCPRegInfo *ri, @@ -5156,7 +5168,7 @@ static void hcr_writelow(CPUARMState *env, const ARMC= PRegInfo *ri, { /* Handle HCR write, i.e. write to low half of HCR_EL2 */ value =3D deposit64(env->cp15.hcr_el2, 0, 32, value); - hcr_write(env, NULL, value); + do_hcr_write(env, value, MAKE_64BIT_MASK(32, 32)); } =20 /* --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426897; cv=none; d=zohomail.com; s=zohoarc; b=UPsOHVks8vvnFvhxk7k8hWFGTd2M22eJO5C7pciSm18oe6CScUKoqO5fzOFqXwT52hhxgWYS95xW14O0jAxG3Vhd9QsRkLtx5wNdVaQ7SqDmfLFf5MmvouHJJApY7J+R8F2GRUGNFQL/M44om5TPdjCZhMZ/1HMG6ktWtUBjEd4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426897; 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=g0YUytWq4vRm1t30VeqE3UA29+mSL//Cjkgt5k66VTA=; b=Uv6kCH0HO026SguotaW+2FFUF5m8ewPc+VcxaJJJgDOTUUEcuWVkPkPDmDxh24fIKEbihhVsCaHwYLw7HoDnsXPe7LcTC0qJRzaPhrLgzWWCH7PSlB9RxhlRLQy+gvJJaRO5rQ53tm6Vgb8EWdcvYQL3FvjiisKUBQ7egI8cHrU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426897188357.02201760881985; Thu, 5 Mar 2020 08:48:17 -0800 (PST) Received: from localhost ([::1]:52810 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tfT-0005c2-Px for importer@patchew.org; Thu, 05 Mar 2020 11:48:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59264) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tP9-0003YS-ID for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tP8-0002MN-G3 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:23 -0500 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:32898) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tP7-0002Is-9F for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:22 -0500 Received: by mail-wr1-x42d.google.com with SMTP id x7so7821839wrr.0 for ; Thu, 05 Mar 2020 08:31:21 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:19 -0800 (PST) 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=g0YUytWq4vRm1t30VeqE3UA29+mSL//Cjkgt5k66VTA=; b=x8iV2hydGzpeJ4kzI3VUJKaG9+ffGLgpAmVlq93+a0E//8p61SwZlpkniqi6yb8E+n vPDGg6EmHddn3/AO9y7dXVVYSJTJHJfb1Uy+4Cr9S+lFe5AhFA4cVbs8zIfeyvGi5c1w cRkiogeFN8AeHhBBHOFjM3BaHh3+ju/8nG2grclY0d+o126x0Cxn77gHmtRErRPh5i26 we2lAkJamcUwDUsWD14q/WnIIpT8fOGZ9U1MlFrfkwJSHep2WX/u+gaDfHN8LlllIxgN 9geo9NUce87iQhg6CBNPebPZcNpktP8RkPTWUibP3xQT0xx59yvmUUrWt4FtqnC0zV+Y mlvQ== 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=g0YUytWq4vRm1t30VeqE3UA29+mSL//Cjkgt5k66VTA=; b=kfdlrszye2BK8p+fKZvTKenfw/iHU5nWIlMZIhQ9/Nwy2BOQXLsFu7R1wtf7we7GHm NCn3QB8Kz90D+eHqkNFRFfPyXif/SvgGfNVYfieW2pbbdn1rxuoDm9JKBbBAorIsS0F8 EV30Goie9gty6mZ7pu+zDyo7ec1zEC1Db0zzsDNfNfYfLfhS1wpcM6c13rmM4qKlpcxf +HPBMrbg9RkqorRPqqyicdSmuBqy12rGfM88W6/Vd0DO7uJDqSGdXwD0b070l/gGPOB5 qDK82d5k5bRKfDMHTWxuSXgM4MFGXKnnbEHvnrsXBW7zxeJIH4vfcsuDO9371JHw6RQq qUxA== X-Gm-Message-State: ANhLgQ0vmGPo6zjZflTTJBT99czaj0rFq5HEOYLvIHW3kQU41iKnQ2iT jtB6yt7NUm0C90gCcnpHUPhJ0qgSdnewDw== X-Google-Smtp-Source: ADFU+vuCYd9KioTfnwM+MYjRTZWneo55vGLDTE5uGYydMbF/6G7RL97eJBFNKnr9zEmSpWzhto0Wwg== X-Received: by 2002:adf:eece:: with SMTP id a14mr10861738wrp.311.1583425879905; Thu, 05 Mar 2020 08:31:19 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 16/37] target/arm: Add HCR_EL2 bit definitions from ARMv8.6 Date: Thu, 5 Mar 2020 16:30:39 +0000 Message-Id: <20200305163100.22912-17-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::42d 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 Signed-off-by: Richard Henderson Message-id: 20200229012811.24129-3-richard.henderson@linaro.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/arm/cpu.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 0b84742b66a..0ae07a72e43 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -1410,6 +1410,7 @@ static inline void xpsr_write(CPUARMState *env, uint3= 2_t val, uint32_t mask) #define HCR_TERR (1ULL << 36) #define HCR_TEA (1ULL << 37) #define HCR_MIOCNCE (1ULL << 38) +/* RES0 bit 39 */ #define HCR_APK (1ULL << 40) #define HCR_API (1ULL << 41) #define HCR_NV (1ULL << 42) @@ -1418,13 +1419,19 @@ static inline void xpsr_write(CPUARMState *env, uin= t32_t val, uint32_t mask) #define HCR_NV2 (1ULL << 45) #define HCR_FWB (1ULL << 46) #define HCR_FIEN (1ULL << 47) +/* RES0 bit 48 */ #define HCR_TID4 (1ULL << 49) #define HCR_TICAB (1ULL << 50) +#define HCR_AMVOFFEN (1ULL << 51) #define HCR_TOCU (1ULL << 52) +#define HCR_ENSCXT (1ULL << 53) #define HCR_TTLBIS (1ULL << 54) #define HCR_TTLBOS (1ULL << 55) #define HCR_ATA (1ULL << 56) #define HCR_DCT (1ULL << 57) +#define HCR_TID5 (1ULL << 58) +#define HCR_TWEDEN (1ULL << 59) +#define HCR_TWEDEL MAKE_64BIT_MASK(60, 4) =20 #define SCR_NS (1U << 0) #define SCR_IRQ (1U << 1) --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583427524; cv=none; d=zohomail.com; s=zohoarc; b=VGp65Em/dc7we7QG5Df+EsU7x09Bqqx5vOUXpNeeUcN+M7rMDvMbwzzHbvegzpRbn+9cuTbrS1WM6fBs8VoAN1Aq6c1cB00nkR5LWEgl4mIsKB/Kaev6na0bRXi4MSzkx8NO/juXjf6pJKaoivUnmDiHLm+xqi2BjrrwDk7m3FM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583427524; 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=Jjemy7ru1k2oXG98tCmpSClPpvqk/pa1WkziMWFO4pU=; b=fMbutxS9OyzHi7DQNM7dWmJ+pSqFqVeMSIJuTY44dtDQ7TI/ap9lCRDZZlQf8yog3YkgzGIsPKD0svK/GR76lCK3vGU9G4UDF51ZuWEVcOJAnpfjnvUA8SdR3HdYQoyTUQ+d9iFLx+xiLd99r3YrLUsTnI2ITa2cfKCVo/tQBgA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583427524461441.7603502520359; Thu, 5 Mar 2020 08:58:44 -0800 (PST) Received: from localhost ([::1]:53172 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tpb-0007nQ-8W for importer@patchew.org; Thu, 05 Mar 2020 11:58:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59265) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tP9-0003YY-Iu for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tP8-0002M7-DF for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:23 -0500 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:38865) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tP8-0002LA-6i for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:22 -0500 Received: by mail-wr1-x444.google.com with SMTP id t11so7800096wrw.5 for ; Thu, 05 Mar 2020 08:31:22 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:20 -0800 (PST) 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=Jjemy7ru1k2oXG98tCmpSClPpvqk/pa1WkziMWFO4pU=; b=l2Nq4rUag5eksIE9FNjjNSH0/zgz19Yps3MckrIF0WOYepXzSXYpsVzRL1ECt7Uia1 S1K7FvYW1RyTZ4UCzBf1sO0/u2twcOH7x53gGp3b5pmrT8bpf5+OljKSq7I0Z2bBlgn5 lbHwCcP6u7Y1hT7ZIB96lpSzUOvVnJE4qssD7hIa4JsKXEleTbvOmhJg6c3xYFn2J07d 1JXh+liXTyN3net1z8AY+JFPV0Hmqm96of+7GJptyHvTMfM5NtlXkY5CPLRJ48f0trSU VZ1P1JOIpdol+7Nzj8dfZRfVhWL8dFvQMENMLAN7UyLhdtLyuM5r0L5NYwUaKP0YZQdU cgwA== 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=Jjemy7ru1k2oXG98tCmpSClPpvqk/pa1WkziMWFO4pU=; b=lkfbp0s4UfPQ52wyYqHJymezno34saHjCJ+o1FY1wFXDs2lZITmqEz/Wh2q2NxS1aG XMmGrPR/C0wlmIMYVhUeMMiV0H72n4Dw1SydgI7TE6u2YkdRqc6Xo9o7gJlRFH6Aho3U A7gn5h6/fp6UN6jOehkYbl5ah2MYHu33arORaMOxlQB2gaUxJ1mn3zKof8sTu/jLlsO3 apnEXroWnd6+KmjhM/13wsTizF+8Eq1gTRHIQb5O5XO55jPA6ju0dt/9AeBSwWg3hkc7 k/OCrwroZOLId8IF0xBvBvhspVKgE57iwNE5Emqhb1r8XDN/A0hZvvhP1Oqg7+h2X6uk ayfA== X-Gm-Message-State: ANhLgQ25EODcPNLB21HhRMk8rvS38m7LeFvsfSE5cH7U5bFb50mAj3YS wUHZ1osbXx99pAXngm6NGCcXuGi90rtaWg== X-Google-Smtp-Source: ADFU+vtU2tNg7s2yWk4TaimOcYSVNl5gbit1/HW083kNmwiXoQe/enQVBUqrhrqOzfXToyyAQV4qWw== X-Received: by 2002:a5d:4484:: with SMTP id j4mr11935691wrq.153.1583425880918; Thu, 05 Mar 2020 08:31:20 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 17/37] target/arm: Disable has_el2 and has_el3 for user-only Date: Thu, 5 Mar 2020 16:30:40 +0000 Message-Id: <20200305163100.22912-18-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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 In arm_cpu_reset, we configure many system registers so that user-only behaves as it should with a minimum of ifdefs. However, we do not set all of the system registers as required for a cpu with EL2 and EL3. Disabling EL2 and EL3 mean that we will not look at those registers, which means that we don't have to worry about configuring them. Signed-off-by: Richard Henderson Message-id: 20200229012811.24129-4-richard.henderson@linaro.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/arm/cpu.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index de00a45e903..185a46f5abd 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -1103,11 +1103,13 @@ static Property arm_cpu_reset_hivecs_property =3D static Property arm_cpu_rvbar_property =3D DEFINE_PROP_UINT64("rvbar", ARMCPU, rvbar, 0); =20 +#ifndef CONFIG_USER_ONLY static Property arm_cpu_has_el2_property =3D DEFINE_PROP_BOOL("has_el2", ARMCPU, has_el2, true); =20 static Property arm_cpu_has_el3_property =3D DEFINE_PROP_BOOL("has_el3", ARMCPU, has_el3, true); +#endif =20 static Property arm_cpu_cfgend_property =3D DEFINE_PROP_BOOL("cfgend", ARMCPU, cfgend, false); @@ -1222,25 +1224,25 @@ void arm_cpu_post_init(Object *obj) qdev_property_add_static(DEVICE(obj), &arm_cpu_rvbar_property); } =20 +#ifndef CONFIG_USER_ONLY if (arm_feature(&cpu->env, ARM_FEATURE_EL3)) { /* Add the has_el3 state CPU property only if EL3 is allowed. Thi= s will * prevent "has_el3" from existing on CPUs which cannot support EL= 3. */ qdev_property_add_static(DEVICE(obj), &arm_cpu_has_el3_property); =20 -#ifndef CONFIG_USER_ONLY object_property_add_link(obj, "secure-memory", TYPE_MEMORY_REGION, (Object **)&cpu->secure_memory, qdev_prop_allow_set_link_before_realize, OBJ_PROP_LINK_STRONG, &error_abort); -#endif } =20 if (arm_feature(&cpu->env, ARM_FEATURE_EL2)) { qdev_property_add_static(DEVICE(obj), &arm_cpu_has_el2_property); } +#endif =20 if (arm_feature(&cpu->env, ARM_FEATURE_PMU)) { cpu->has_pmu =3D true; --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426739; cv=none; d=zohomail.com; s=zohoarc; b=NS6DY2ZDD3ZfqntO3vgIm5U3apncr0QpY76GMG1EPI5jzJMrkqwoUF/4W4PTGzemfM3a2/gTKKJqIrYP2kMa6ceX8uQnh22UMBWo2X5gw+YpkvfkE9pN1D8eESS+B+rhoVmYdKT2r97mMhtnRHMI9PBjwqS5KVZcG7SDxWC/Pu4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426739; 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=0aKaSC1tIGjmTucsvZx242kXm6MS2aF5ZGRxydydp3c=; b=iEx/uanDzetUZfHhxJ1jLiyNxNCDMVpv1aCErv0amHesKBOKrtMFXyy9zHZ0dnBOKJkZ50Z0VE88nd8Xk+X4R1KTkK9E4T1P61kJHHHD8TbcYqysFe/X83dD5DBMrXCq8Reun/LI3XEXBsZVNEYZfI9LR53dpTR52wZRpM6wqJ0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426739381515.4623123948792; Thu, 5 Mar 2020 08:45:39 -0800 (PST) Received: from localhost ([::1]:52750 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tcw-0001CU-8U for importer@patchew.org; Thu, 05 Mar 2020 11:45:38 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59279) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPA-0003Zh-BB for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tP9-0002Nw-BG for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:24 -0500 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:39604) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tP9-0002MW-4l for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:23 -0500 Received: by mail-wr1-x443.google.com with SMTP id y17so7803820wrn.6 for ; Thu, 05 Mar 2020 08:31:23 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:21 -0800 (PST) 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=0aKaSC1tIGjmTucsvZx242kXm6MS2aF5ZGRxydydp3c=; b=iLOpK0V7p7XkQhMc19TOEnR2C+eS58GVXtZ936frjgdCDkvZzQvP5pj9ghXmnsA5Rr 7mC1BYpzXzrdiHRSRuhzeR9ymyWxeRHhKvAxFe7f32eECBP7GMx7ARZLFdf9v1lKhMbg EuULyqu80gdL98bT4sD35bPMX+CZX+3C7pR3UUIPZlCeUkQOAhU2sGwS7ZlatNXqBFrM wkk+zxIFPvFJkeQY0MeU3AE2SLwlqIaDVItg52hQsXki/nedfLlOmLhJH6ULGUiRmaZd HSHYf92VDhrr5vlR+JxC+ninDFGHNEOg2Z82Qd5EWuFFH4ejS/p3s4ZAXnBI4s0JI9r4 JJww== 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=0aKaSC1tIGjmTucsvZx242kXm6MS2aF5ZGRxydydp3c=; b=RRorK6uEARHDTVRkZhzqZ5eemQWIOjoSjHfoi0pxlpwWcty/0GE63JLrnU7i/7PGKP u1NOnMafzXzBSuDuznU4aDybf9CRd/Xl5E1vzHk4Z/N4ghvPGdA0WwjT4oW2nHTfuMIQ OcwS2h8MqpMhRPxglwcdrcr071iUnfxqN37BZIilZp26pqLzhkn8FDv3qPlputK/nJEO D0FM9/y5njqrVBiFgaTpkToFwGSaWEM1vd5d2Y0hCfkrit7fWPVGM0oB8xiKm70MP7yT xJC4WVMGKf+cWXvxvlcz100an8DkZGgs7wyYJubQW7WTzMHfoKdqPA6fBqEBarnPVRrQ mFAw== X-Gm-Message-State: ANhLgQ3UIfqtl1cwvns6bhmNbd4ZIzzwNZ3f3s8yZxPSFYmOZeRnGdbr GZKmNp9bp4t3AOHFRkR/L8Z8Tyi3XNnmow== X-Google-Smtp-Source: ADFU+vt0JZWt6LZ3HKpnyfwT+tSYbqCB/0vt7pl/rEMQIKdBxt7ubhw42Q2c+ul1eE7zEZs5pkmLkw== X-Received: by 2002:a5d:4404:: with SMTP id z4mr11119807wrq.228.1583425881911; Thu, 05 Mar 2020 08:31:21 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 18/37] target/arm: Remove EL2 and EL3 setup from user-only Date: Thu, 5 Mar 2020 16:30:41 +0000 Message-Id: <20200305163100.22912-19-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) Content-Type: text/plain; charset="utf-8" From: Richard Henderson We have disabled EL2 and EL3 for user-only, which means that these registers "don't exist" and should not be set. Signed-off-by: Richard Henderson Message-id: 20200229012811.24129-5-richard.henderson@linaro.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/arm/cpu.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 185a46f5abd..3623ecefbd9 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -191,19 +191,13 @@ static void arm_cpu_reset(CPUState *s) /* Enable all PAC keys. */ env->cp15.sctlr_el[1] |=3D (SCTLR_EnIA | SCTLR_EnIB | SCTLR_EnDA | SCTLR_EnDB); - /* Enable all PAC instructions */ - env->cp15.hcr_el2 |=3D HCR_API; - env->cp15.scr_el3 |=3D SCR_API; /* and to the FP/Neon instructions */ env->cp15.cpacr_el1 =3D deposit64(env->cp15.cpacr_el1, 20, 2, 3); /* and to the SVE instructions */ env->cp15.cpacr_el1 =3D deposit64(env->cp15.cpacr_el1, 16, 2, 3); - env->cp15.cptr_el[3] |=3D CPTR_EZ; /* with maximum vector length */ env->vfp.zcr_el[1] =3D cpu_isar_feature(aa64_sve, cpu) ? cpu->sve_max_vq - 1 : 0; - env->vfp.zcr_el[2] =3D env->vfp.zcr_el[1]; - env->vfp.zcr_el[3] =3D env->vfp.zcr_el[1]; /* * Enable TBI0 and TBI1. While the real kernel only enables TBI0, * turning on both here will produce smaller code and otherwise --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426568; cv=none; d=zohomail.com; s=zohoarc; b=eRhc8vJpmYpM3ucdP0sfTBeADperYAgYBAwXfF/PJwpQcHlwPsNJIhipQi92Q2FXFDbOEpMyXhzHNinFGXTV4THCoe56r4lirJtDbcpRU1R1IQ1jvcUdLR2TiVPCIwmB5OwNbStYnGrdpFziCmucbxz8JFXiHLugkXnNqrtyFQQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426568; 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=MW1rCYSxw/00/8UqyAWlM8p39wC7z3ywPKWBwwkAIIw=; b=iu84B2L6ZcQERwN1fr3ivLzJfjqy+pJTYAGSA4+NIeEXi+ptYLdlVScM5CaS3mqWbrNyr58jQEpf2Wq+QFgNbzGQy8eVNCkIZfRzIdQT8x9lOQ54YqCpRMgOePQmc8H97C/9lSheb4WgWPa4G/qcGaQdp7uE3Q81t4FUEF5+voM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426567992139.19050816486754; Thu, 5 Mar 2020 08:42:47 -0800 (PST) Received: from localhost ([::1]:52666 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9taA-0005c1-Ny for importer@patchew.org; Thu, 05 Mar 2020 11:42:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59292) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPB-0003b6-Mh for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPA-0002QG-IX for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:25 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:51360) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPA-0002Ou-CH for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:24 -0500 Received: by mail-wm1-x32d.google.com with SMTP id a132so7056873wme.1 for ; Thu, 05 Mar 2020 08:31:24 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:22 -0800 (PST) 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=MW1rCYSxw/00/8UqyAWlM8p39wC7z3ywPKWBwwkAIIw=; b=SvYRjwQMuJ7YMXKczNzyHuM+VA7OdTkL91JrLcRkXS/lCvBDTd7m+ybrETAWX+imX1 v3pMa/VH64zjfvAMNOvmzCd13buRAghiYowP09cTX3f/nBbUTOAexaQlyq1X9NLkNcZ8 a2rIdSukSIbrUJUlHnwdE3QwLI3YBDG+JI3YrLA84QqPxa3g9HhxJNxT2K321ob1z/dv qqkL5FlWPvpNv1O+WdRaJXyDeYT+rLOx4V/K/r/Yn6BNINUCK4Z4u2m2iXYN8EYBSPzp szjE/PmxHtCRHtasnF7syoVMciLcN8F/JT5RaDhATLjIlZfTmBmCuHY2iBalFWThFlsc luuw== 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=MW1rCYSxw/00/8UqyAWlM8p39wC7z3ywPKWBwwkAIIw=; b=HuUp+HDSfQi+4uMPWHcLeuYe4ZPQjYpHsiqjcbKTNKo/Lq91372smQ690rYeBWjZOO KBBf/yZ4DzgHEAkajQVNeIJxpJ85b3HALuMA4QCaigIfMTNPjYfBHO8jHrlxlo+kHaTp 6VDGmVg7YgP+gqTtlnU4BN5eK3Ck+tUomMr2fBfhGHkDMDSXbv18k9WeU++0mOnmdRJe 4yHGtyw5YH77NxOhxP+d9Mf7Fvx3SU6pS4cDlzHrknNP8Q1VJ0x8o4dskADtMVp/ymeC Xc8GaeZTP0QfwKL2LRcSbl3coPdNrjcP1BCecMqGtA8i1XrTuby8RspVs0Jguj19JW3l hZPw== X-Gm-Message-State: ANhLgQ0yqAcFPT4iBq6Uvb7FYEA14aUVr305251UXAqX93BGy0fCH6xC t5+6/OQa5qdrWuIlmrx/O3Hfa/Jg8fVCqw== X-Google-Smtp-Source: ADFU+vtKQcHQbnwWhTvZ2FIMsmPD5od9K+iwwIxWf8j9nXh7dozc6vWOamgKEEDFm+UpfCHkwZiBFQ== X-Received: by 2002:a1c:4b0d:: with SMTP id y13mr10710328wma.4.1583425882945; Thu, 05 Mar 2020 08:31:22 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 19/37] target/arm: Improve masking in arm_hcr_el2_eff Date: Thu, 5 Mar 2020 16:30:42 +0000 Message-Id: <20200305163100.22912-20-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) Content-Type: text/plain; charset="utf-8" From: Richard Henderson Update the {TGE,E2H} =3D=3D '11' masking to ARMv8.6. If EL2 is configured for aarch32, disable all of the bits that are RES0 in aarch32 mode. Signed-off-by: Richard Henderson Message-id: 20200229012811.24129-6-richard.henderson@linaro.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/arm/helper.c | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 19a8be84938..4ddb9443fbc 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -5196,14 +5196,37 @@ uint64_t arm_hcr_el2_eff(CPUARMState *env) * Since the v8.4 language applies to the entire register, and * appears to be backward compatible, use that. */ - ret =3D 0; - } else if (ret & HCR_TGE) { - /* These bits are up-to-date as of ARMv8.4. */ + return 0; + } + + /* + * For a cpu that supports both aarch64 and aarch32, we can set bits + * in HCR_EL2 (e.g. via EL3) that are RES0 when we enter EL2 as aa32. + * Ignore all of the bits in HCR+HCR2 that are not valid for aarch32. + */ + if (!arm_el_is_aa64(env, 2)) { + uint64_t aa32_valid; + + /* + * These bits are up-to-date as of ARMv8.6. + * For HCR, it's easiest to list just the 2 bits that are invalid. + * For HCR2, list those that are valid. + */ + aa32_valid =3D MAKE_64BIT_MASK(0, 32) & ~(HCR_RW | HCR_TDZ); + aa32_valid |=3D (HCR_CD | HCR_ID | HCR_TERR | HCR_TEA | HCR_MIOCNC= E | + HCR_TID4 | HCR_TICAB | HCR_TOCU | HCR_TTLBIS); + ret &=3D aa32_valid; + } + + if (ret & HCR_TGE) { + /* These bits are up-to-date as of ARMv8.6. */ if (ret & HCR_E2H) { ret &=3D ~(HCR_VM | HCR_FMO | HCR_IMO | HCR_AMO | HCR_BSU_MASK | HCR_DC | HCR_TWI | HCR_TWE | HCR_TID0 | HCR_TID2 | HCR_TPCP | HCR_TPU | - HCR_TDZ | HCR_CD | HCR_ID | HCR_MIOCNCE); + HCR_TDZ | HCR_CD | HCR_ID | HCR_MIOCNCE | + HCR_TID4 | HCR_TICAB | HCR_TOCU | HCR_ENSCXT | + HCR_TTLBIS | HCR_TTLBOS | HCR_TID5); } else { ret |=3D HCR_FMO | HCR_IMO | HCR_AMO; } --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583427031; cv=none; d=zohomail.com; s=zohoarc; b=BXERt8Z0lSdJatZ6WKUdtXwGJOlQ9nOlBL8aUCwo5vimECqOFKfpGVLEOx1OcAzpu4ngGpvlslwK9k77XSBxRSX1UjjA1dlsc+zVVBZTB0ADUfrzBZMlkC0CwsdtxLRukHRwmGYus/qkzX6o+AxaGlrmoFcM/vaC11nywE9wfbU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583427031; 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=rP0WTsFvBqMrZqUjV7tU4PPtYecIkdy5YUBe1HCruKI=; b=Pr2DtZHITP+vraQOI5eezK4XbmXc7Zx/buV5l9hM+o/0/mHMR9PKKLxGN8IXoyvyT/BewQe1RfggtZ8Mt3JEmLfbNr9m8QVadG5LlXbyvdfMYdJ1iy0RMMThhxLngQvILirC9hje6vq1AfhDkBjeyUjPEZbBzKFC2cdDYMarvf8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583427031019778.5595811056309; Thu, 5 Mar 2020 08:50:31 -0800 (PST) Received: from localhost ([::1]:52864 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9thc-0000ht-P5 for importer@patchew.org; Thu, 05 Mar 2020 11:50:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59324) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPE-0003dd-5a for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPC-0002U6-5e for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:28 -0500 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:40445) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPB-0002Ru-UR for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:26 -0500 Received: by mail-wr1-x42b.google.com with SMTP id r17so7795398wrj.7 for ; Thu, 05 Mar 2020 08:31:25 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:23 -0800 (PST) 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=rP0WTsFvBqMrZqUjV7tU4PPtYecIkdy5YUBe1HCruKI=; b=rgVUJ5DxxuaRHAnASjf77IPubjzZGvm2Ls9J4Fx8gziHTkaZAcA//Gwp0TTblMI66l 2MlFADZhfA9GSbxgAdmCZSbO8Sctth63Odk36dVATsygdPIxhEGSVuMNzJYMwWHSQIEi X1fqo1j/ol8ys8av+D3DBrUF1DCz2Q2GYeU4eR0eHHAyPA24eC+DnUpmggF1DkZnn2zJ NT2jtNxwPlP/y0f3qYnBrjC+faCMEQmeiucXJ/tPnQ8Gj89ZFAME6p2zoBGxKC2Bq2FZ XtgMNyxguOUa6Y8h49Bw8NuH+nD6SdQjKd/tQyXaKZ1tOakjZ7dALgijo41PDnQ1ZiR+ vJiA== 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=rP0WTsFvBqMrZqUjV7tU4PPtYecIkdy5YUBe1HCruKI=; b=fUDtSotG15jOvRfZ1rKQIYZ9r/p8NFnRoKvLysCB0D3tPdkb+NRD3T/V+IQzZ7KvCW lRChglm2ChywJivcXRi2MYqjCAt/EXTc2/Xulnq9ZX2P96Jahjz9iEeWqz4OaO+FT/NI D8VuW7XyflclhlztKej+jmOFv0E/H4CtkSpOiMuDCQNJwd/Qkpwt8LNhE1XW88FRKaEk aTrCpi/o00JypylqYtwrzOdYTqSw96CnJagFma4rgyK8xx/O4TZ2GLOnetebh6KEIR+/ BLyPMtb43fdyE6LfOmYQ2RTjSVI1xIi9iZHxUzwNnbagBXwcT89xDodqXiDDE2odkyvr QY5A== X-Gm-Message-State: ANhLgQ2kNUGjKJeyxrATsiHYweqtp8CH/MDPLBH+E4ng4dyRD6mIAfp2 XfwVsxi0sqErqGsa/3k2DKSZhdo6zM+dMQ== X-Google-Smtp-Source: ADFU+vsPK8WX0oQiTuzncGsJU8WHr14ZIVoxbXgjoOdX7QmIG+XzcmkFaiYqsJAV51DZrOeP2goNHQ== X-Received: by 2002:adf:9071:: with SMTP id h104mr11175743wrh.359.1583425884211; Thu, 05 Mar 2020 08:31:24 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 20/37] target/arm: Honor the HCR_EL2.{TVM,TRVM} bits Date: Thu, 5 Mar 2020 16:30:43 +0000 Message-Id: <20200305163100.22912-21-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::42b 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 These bits trap EL1 access to various virtual memory controls. Buglink: https://bugs.launchpad.net/bugs/1855072 Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20200229012811.24129-7-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 82 ++++++++++++++++++++++++++++++--------------- 1 file changed, 55 insertions(+), 27 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 4ddb9443fbc..c78429bca2a 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -530,6 +530,19 @@ static CPAccessResult access_tpm(CPUARMState *env, con= st ARMCPRegInfo *ri, return CP_ACCESS_OK; } =20 +/* Check for traps from EL1 due to HCR_EL2.TVM and HCR_EL2.TRVM. */ +static CPAccessResult access_tvm_trvm(CPUARMState *env, const ARMCPRegInfo= *ri, + bool isread) +{ + if (arm_current_el(env) =3D=3D 1) { + uint64_t trap =3D isread ? HCR_TRVM : HCR_TVM; + if (arm_hcr_el2_eff(env) & trap) { + return CP_ACCESS_TRAP_EL2; + } + } + return CP_ACCESS_OK; +} + static void dacr_write(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t = value) { ARMCPU *cpu =3D env_archcpu(env); @@ -785,12 +798,14 @@ static const ARMCPRegInfo cp_reginfo[] =3D { */ { .name =3D "CONTEXTIDR_EL1", .state =3D ARM_CP_STATE_BOTH, .opc0 =3D 3, .opc1 =3D 0, .crn =3D 13, .crm =3D 0, .opc2 =3D 1, - .access =3D PL1_RW, .secure =3D ARM_CP_SECSTATE_NS, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .secure =3D ARM_CP_SECSTATE_NS, .fieldoffset =3D offsetof(CPUARMState, cp15.contextidr_el[1]), .resetvalue =3D 0, .writefn =3D contextidr_write, .raw_writefn =3D r= aw_write, }, { .name =3D "CONTEXTIDR_S", .state =3D ARM_CP_STATE_AA32, .cp =3D 15, .opc1 =3D 0, .crn =3D 13, .crm =3D 0, .opc2 =3D 1, - .access =3D PL1_RW, .secure =3D ARM_CP_SECSTATE_S, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .secure =3D ARM_CP_SECSTATE_S, .fieldoffset =3D offsetof(CPUARMState, cp15.contextidr_s), .resetvalue =3D 0, .writefn =3D contextidr_write, .raw_writefn =3D r= aw_write, }, REGINFO_SENTINEL @@ -803,7 +818,7 @@ static const ARMCPRegInfo not_v8_cp_reginfo[] =3D { /* MMU Domain access control / MPU write buffer control */ { .name =3D "DACR", .cp =3D 15, .opc1 =3D CP_ANY, .crn =3D 3, .crm =3D CP_ANY, .opc2 =3D= CP_ANY, - .access =3D PL1_RW, .resetvalue =3D 0, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, .resetvalue =3D 0, .writefn =3D dacr_write, .raw_writefn =3D raw_write, .bank_fieldoffsets =3D { offsetoflow32(CPUARMState, cp15.dacr_s), offsetoflow32(CPUARMState, cp15.dacr_ns) } }, @@ -996,7 +1011,7 @@ static const ARMCPRegInfo v6_cp_reginfo[] =3D { { .name =3D "DMB", .cp =3D 15, .crn =3D 7, .crm =3D 10, .opc1 =3D 0, .= opc2 =3D 5, .access =3D PL0_W, .type =3D ARM_CP_NOP }, { .name =3D "IFAR", .cp =3D 15, .crn =3D 6, .crm =3D 0, .opc1 =3D 0, .= opc2 =3D 2, - .access =3D PL1_RW, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, .bank_fieldoffsets =3D { offsetof(CPUARMState, cp15.ifar_s), offsetof(CPUARMState, cp15.ifar_ns) }, .resetvalue =3D 0, }, @@ -2208,16 +2223,19 @@ static const ARMCPRegInfo v7_cp_reginfo[] =3D { */ { .name =3D "AFSR0_EL1", .state =3D ARM_CP_STATE_BOTH, .opc0 =3D 3, .opc1 =3D 0, .crn =3D 5, .crm =3D 1, .opc2 =3D 0, - .access =3D PL1_RW, .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, { .name =3D "AFSR1_EL1", .state =3D ARM_CP_STATE_BOTH, .opc0 =3D 3, .opc1 =3D 0, .crn =3D 5, .crm =3D 1, .opc2 =3D 1, - .access =3D PL1_RW, .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, /* MAIR can just read-as-written because we don't implement caches * and so don't need to care about memory attributes. */ { .name =3D "MAIR_EL1", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 3, .opc1 =3D 0, .crn =3D 10, .crm =3D 2, .opc2 =3D 0, - .access =3D PL1_RW, .fieldoffset =3D offsetof(CPUARMState, cp15.mair= _el[1]), + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .fieldoffset =3D offsetof(CPUARMState, cp15.mair_el[1]), .resetvalue =3D 0 }, { .name =3D "MAIR_EL3", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 3, .opc1 =3D 6, .crn =3D 10, .crm =3D 2, .opc2 =3D 0, @@ -2231,12 +2249,14 @@ static const ARMCPRegInfo v7_cp_reginfo[] =3D { * handled in the field definitions. */ { .name =3D "MAIR0", .state =3D ARM_CP_STATE_AA32, - .cp =3D 15, .opc1 =3D 0, .crn =3D 10, .crm =3D 2, .opc2 =3D 0, .acce= ss =3D PL1_RW, + .cp =3D 15, .opc1 =3D 0, .crn =3D 10, .crm =3D 2, .opc2 =3D 0, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, .bank_fieldoffsets =3D { offsetof(CPUARMState, cp15.mair0_s), offsetof(CPUARMState, cp15.mair0_ns) }, .resetfn =3D arm_cp_reset_ignore }, { .name =3D "MAIR1", .state =3D ARM_CP_STATE_AA32, - .cp =3D 15, .opc1 =3D 0, .crn =3D 10, .crm =3D 2, .opc2 =3D 1, .acce= ss =3D PL1_RW, + .cp =3D 15, .opc1 =3D 0, .crn =3D 10, .crm =3D 2, .opc2 =3D 1, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, .bank_fieldoffsets =3D { offsetof(CPUARMState, cp15.mair1_s), offsetof(CPUARMState, cp15.mair1_ns) }, .resetfn =3D arm_cp_reset_ignore }, @@ -3886,20 +3906,21 @@ static void vttbr_write(CPUARMState *env, const ARM= CPRegInfo *ri, =20 static const ARMCPRegInfo vmsa_pmsa_cp_reginfo[] =3D { { .name =3D "DFSR", .cp =3D 15, .crn =3D 5, .crm =3D 0, .opc1 =3D 0, .= opc2 =3D 0, - .access =3D PL1_RW, .type =3D ARM_CP_ALIAS, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, .type =3D ARM_CP_= ALIAS, .bank_fieldoffsets =3D { offsetoflow32(CPUARMState, cp15.dfsr_s), offsetoflow32(CPUARMState, cp15.dfsr_ns) }, }, { .name =3D "IFSR", .cp =3D 15, .crn =3D 5, .crm =3D 0, .opc1 =3D 0, .= opc2 =3D 1, - .access =3D PL1_RW, .resetvalue =3D 0, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, .resetvalue =3D 0, .bank_fieldoffsets =3D { offsetoflow32(CPUARMState, cp15.ifsr_s), offsetoflow32(CPUARMState, cp15.ifsr_ns) } }, { .name =3D "DFAR", .cp =3D 15, .opc1 =3D 0, .crn =3D 6, .crm =3D 0, .= opc2 =3D 0, - .access =3D PL1_RW, .resetvalue =3D 0, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, .resetvalue =3D 0, .bank_fieldoffsets =3D { offsetof(CPUARMState, cp15.dfar_s), offsetof(CPUARMState, cp15.dfar_ns) } }, { .name =3D "FAR_EL1", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 3, .crn =3D 6, .crm =3D 0, .opc1 =3D 0, .opc2 =3D 0, - .access =3D PL1_RW, .fieldoffset =3D offsetof(CPUARMState, cp15.far_= el[1]), + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .fieldoffset =3D offsetof(CPUARMState, cp15.far_el[1]), .resetvalue =3D 0, }, REGINFO_SENTINEL }; @@ -3907,25 +3928,29 @@ static const ARMCPRegInfo vmsa_pmsa_cp_reginfo[] = =3D { static const ARMCPRegInfo vmsa_cp_reginfo[] =3D { { .name =3D "ESR_EL1", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 3, .crn =3D 5, .crm =3D 2, .opc1 =3D 0, .opc2 =3D 0, - .access =3D PL1_RW, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, .fieldoffset =3D offsetof(CPUARMState, cp15.esr_el[1]), .resetvalue = =3D 0, }, { .name =3D "TTBR0_EL1", .state =3D ARM_CP_STATE_BOTH, .opc0 =3D 3, .opc1 =3D 0, .crn =3D 2, .crm =3D 0, .opc2 =3D 0, - .access =3D PL1_RW, .writefn =3D vmsa_ttbr_write, .resetvalue =3D 0, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .writefn =3D vmsa_ttbr_write, .resetvalue =3D 0, .bank_fieldoffsets =3D { offsetof(CPUARMState, cp15.ttbr0_s), offsetof(CPUARMState, cp15.ttbr0_ns) } }, { .name =3D "TTBR1_EL1", .state =3D ARM_CP_STATE_BOTH, .opc0 =3D 3, .opc1 =3D 0, .crn =3D 2, .crm =3D 0, .opc2 =3D 1, - .access =3D PL1_RW, .writefn =3D vmsa_ttbr_write, .resetvalue =3D 0, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .writefn =3D vmsa_ttbr_write, .resetvalue =3D 0, .bank_fieldoffsets =3D { offsetof(CPUARMState, cp15.ttbr1_s), offsetof(CPUARMState, cp15.ttbr1_ns) } }, { .name =3D "TCR_EL1", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 3, .crn =3D 2, .crm =3D 0, .opc1 =3D 0, .opc2 =3D 2, - .access =3D PL1_RW, .writefn =3D vmsa_tcr_el12_write, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .writefn =3D vmsa_tcr_el12_write, .resetfn =3D vmsa_ttbcr_reset, .raw_writefn =3D raw_write, .fieldoffset =3D offsetof(CPUARMState, cp15.tcr_el[1]) }, { .name =3D "TTBCR", .cp =3D 15, .crn =3D 2, .crm =3D 0, .opc1 =3D 0, = .opc2 =3D 2, - .access =3D PL1_RW, .type =3D ARM_CP_ALIAS, .writefn =3D vmsa_ttbcr_= write, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .type =3D ARM_CP_ALIAS, .writefn =3D vmsa_ttbcr_write, .raw_writefn =3D vmsa_ttbcr_raw_write, .bank_fieldoffsets =3D { offsetoflow32(CPUARMState, cp15.tcr_el[3]), offsetoflow32(CPUARMState, cp15.tcr_el[1])} }, @@ -3937,7 +3962,8 @@ static const ARMCPRegInfo vmsa_cp_reginfo[] =3D { */ static const ARMCPRegInfo ttbcr2_reginfo =3D { .name =3D "TTBCR2", .cp =3D 15, .opc1 =3D 0, .crn =3D 2, .crm =3D 0, .= opc2 =3D 3, - .access =3D PL1_RW, .type =3D ARM_CP_ALIAS, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .type =3D ARM_CP_ALIAS, .bank_fieldoffsets =3D { offsetofhigh32(CPUARMState, cp15.tcr_el[3]), offsetofhigh32(CPUARMState, cp15.tcr_el[1]) }, }; @@ -4157,23 +4183,25 @@ static const ARMCPRegInfo lpae_cp_reginfo[] =3D { /* NOP AMAIR0/1 */ { .name =3D "AMAIR0", .state =3D ARM_CP_STATE_BOTH, .opc0 =3D 3, .crn =3D 10, .crm =3D 3, .opc1 =3D 0, .opc2 =3D 0, - .access =3D PL1_RW, .type =3D ARM_CP_CONST, - .resetvalue =3D 0 }, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, /* AMAIR1 is mapped to AMAIR_EL1[63:32] */ { .name =3D "AMAIR1", .cp =3D 15, .crn =3D 10, .crm =3D 3, .opc1 =3D 0= , .opc2 =3D 1, - .access =3D PL1_RW, .type =3D ARM_CP_CONST, - .resetvalue =3D 0 }, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, { .name =3D "PAR", .cp =3D 15, .crm =3D 7, .opc1 =3D 0, .access =3D PL1_RW, .type =3D ARM_CP_64BIT, .resetvalue =3D 0, .bank_fieldoffsets =3D { offsetof(CPUARMState, cp15.par_s), offsetof(CPUARMState, cp15.par_ns)} }, { .name =3D "TTBR0", .cp =3D 15, .crm =3D 2, .opc1 =3D 0, - .access =3D PL1_RW, .type =3D ARM_CP_64BIT | ARM_CP_ALIAS, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .type =3D ARM_CP_64BIT | ARM_CP_ALIAS, .bank_fieldoffsets =3D { offsetof(CPUARMState, cp15.ttbr0_s), offsetof(CPUARMState, cp15.ttbr0_ns) }, .writefn =3D vmsa_ttbr_write, }, { .name =3D "TTBR1", .cp =3D 15, .crm =3D 2, .opc1 =3D 1, - .access =3D PL1_RW, .type =3D ARM_CP_64BIT | ARM_CP_ALIAS, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, + .type =3D ARM_CP_64BIT | ARM_CP_ALIAS, .bank_fieldoffsets =3D { offsetof(CPUARMState, cp15.ttbr1_s), offsetof(CPUARMState, cp15.ttbr1_ns) }, .writefn =3D vmsa_ttbr_write, }, @@ -4888,7 +4916,7 @@ static const ARMCPRegInfo v8_cp_reginfo[] =3D { .type =3D ARM_CP_NOP, .access =3D PL1_W }, /* MMU Domain access control / MPU write buffer control */ { .name =3D "DACR", .cp =3D 15, .opc1 =3D 0, .crn =3D 3, .crm =3D 0, .= opc2 =3D 0, - .access =3D PL1_RW, .resetvalue =3D 0, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, .resetvalue =3D 0, .writefn =3D dacr_write, .raw_writefn =3D raw_write, .bank_fieldoffsets =3D { offsetoflow32(CPUARMState, cp15.dacr_s), offsetoflow32(CPUARMState, cp15.dacr_ns) } }, @@ -7765,7 +7793,7 @@ void register_cp_regs_for_features(ARMCPU *cpu) ARMCPRegInfo sctlr =3D { .name =3D "SCTLR", .state =3D ARM_CP_STATE_BOTH, .opc0 =3D 3, .opc1 =3D 0, .crn =3D 1, .crm =3D 0, .opc2 =3D 0, - .access =3D PL1_RW, + .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, .bank_fieldoffsets =3D { offsetof(CPUARMState, cp15.sctlr_s), offsetof(CPUARMState, cp15.sctlr_ns) }, .writefn =3D sctlr_write, .resetvalue =3D cpu->reset_sctlr, --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426229; cv=none; d=zohomail.com; s=zohoarc; b=Z1i461tjvgEJSAvZLVHIoxq2ZUTc/jmvOzc8GWLJq8a8IhBG14efEfkw7ofkERJ9311FZFCanLzH4DsskCum9ZnuS5kYSHK3EiHWyIpnyV8hpRqpeMwDLLe3gKTWxk+l7LUC4vOGRzy64RBG7/c3geWNF3t67XvNn6WKQqjuWrE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426229; 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=Y/oEr6VfZD0tMuDYbhpwmohDwbWl4E1kQNKWWMvPtRI=; b=ArrHC9O7au53JXeJ2cDmKVcFbducpVkpZpdJN+e96JEIYvPWeQrQ286CqRv5xeZJ/Z1puSaVYZi663RYxRxsnSczwFlYOxK7YIK3pEkKWAWo+yGWoeAtY6rmxO1oykh4i+oI8FAOqpvcVUckP/8PKKnZv/OE+xkF4siq7mHADI0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426229226592.4035161211207; Thu, 5 Mar 2020 08:37:09 -0800 (PST) Received: from localhost ([::1]:52534 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tUg-00050p-Qd for importer@patchew.org; Thu, 05 Mar 2020 11:37:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59318) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPD-0003dO-Rr for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPC-0002V0-JN for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:27 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:53668) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPC-0002Ss-D9 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:26 -0500 Received: by mail-wm1-x333.google.com with SMTP id g134so7044259wme.3 for ; Thu, 05 Mar 2020 08:31:26 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:24 -0800 (PST) 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=Y/oEr6VfZD0tMuDYbhpwmohDwbWl4E1kQNKWWMvPtRI=; b=XKqL5+Telvdi3EXFGIMxrMF3dlzl6G8GTClU+b+PWCW4HYWTwFt13vfaDdiatt5aIx NLJIAGTyYHCTTwmztVradp8GyH4eT3W7Q92DRgWeoTVZwBJmZgqkzYymnZKDqlpk0u2J AhxP6fRNsKrAGB5I4qr26By7G1RG+7fLpL9lc/uoGw9VzhyGhU2clO0Xgnw4P6ItzBTB fcEQb6aJvIprkzfypSgn2EUgj9ZuTwOzrBkTsDlqEckUxAGlm7JwsPrhiB4v5BeAtVWW boRge7nxBH0yYYeo2JP8HefY+NPwqHhNzpep+6vQhvLpM4gc7MaQrVzl5Hgx4YjTtAoE ITTw== 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=Y/oEr6VfZD0tMuDYbhpwmohDwbWl4E1kQNKWWMvPtRI=; b=unKcuiGoD7DSf+w+RzEnsk8rzTISQb0U2YJmUZDaC0Z8slr8BbkcWdJHPocn+3zqGB E1FPtJq0Zp6H2QkN2LB3emdihAhCe3dUKPC8qf3PWaDKX2I5bnwHCQlkwsdQ1WvpSzWW Ft/D+QSurzG5sLridsYNEavIBKu7dSRQzyLlbyUadgIK0XQQGrCc2o+ZRwFfWywa7WsQ JYteeNELNXwl5GjSP2gvaGAVJpJxcD9/E9MRQFwNXMnhxECMzolp2ZSZUfi813+PrAsh m/KBS9UM3Nts5OO1wlKfM64XT/D5gkEOwQtVjNFO4HB7h82eDpaLTrtdmd32QrS2yyhL wLUw== X-Gm-Message-State: ANhLgQ3uXlKCXyH3G++DlxG17huobZdvjWtkcUYPs1Umb5ht8FYWvrag qn+Vl3PSRftILT4n6eCX3oHP5UeuQN437A== X-Google-Smtp-Source: ADFU+vs38FBZZSCj9+6smHd0ATdQoqRmPNGhcWNXQSD7Kfvf3f3wEG9Ek773NqFt1zZ8Io/aiZz6dg== X-Received: by 2002:a1c:a1c2:: with SMTP id k185mr1542331wme.164.1583425885107; Thu, 05 Mar 2020 08:31:25 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 21/37] target/arm: Honor the HCR_EL2.TSW bit Date: Thu, 5 Mar 2020 16:30:44 +0000 Message-Id: <20200305163100.22912-22-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) Content-Type: text/plain; charset="utf-8" From: Richard Henderson These bits trap EL1 access to set/way cache maintenance insns. Buglink: https://bugs.launchpad.net/bugs/1863685 Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20200229012811.24129-8-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index c78429bca2a..feb279f44e9 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -543,6 +543,16 @@ static CPAccessResult access_tvm_trvm(CPUARMState *env= , const ARMCPRegInfo *ri, return CP_ACCESS_OK; } =20 +/* Check for traps from EL1 due to HCR_EL2.TSW. */ +static CPAccessResult access_tsw(CPUARMState *env, const ARMCPRegInfo *ri, + bool isread) +{ + if (arm_current_el(env) =3D=3D 1 && (arm_hcr_el2_eff(env) & HCR_TSW)) { + return CP_ACCESS_TRAP_EL2; + } + return CP_ACCESS_OK; +} + static void dacr_write(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t = value) { ARMCPU *cpu =3D env_archcpu(env); @@ -4704,14 +4714,14 @@ static const ARMCPRegInfo v8_cp_reginfo[] =3D { .access =3D PL1_W, .type =3D ARM_CP_NOP }, { .name =3D "DC_ISW", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 7, .crm =3D 6, .opc2 =3D 2, - .access =3D PL1_W, .type =3D ARM_CP_NOP }, + .access =3D PL1_W, .accessfn =3D access_tsw, .type =3D ARM_CP_NOP }, { .name =3D "DC_CVAC", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 3, .crn =3D 7, .crm =3D 10, .opc2 =3D 1, .access =3D PL0_W, .type =3D ARM_CP_NOP, .accessfn =3D aa64_cacheop_access }, { .name =3D "DC_CSW", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 7, .crm =3D 10, .opc2 =3D 2, - .access =3D PL1_W, .type =3D ARM_CP_NOP }, + .access =3D PL1_W, .accessfn =3D access_tsw, .type =3D ARM_CP_NOP }, { .name =3D "DC_CVAU", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 3, .crn =3D 7, .crm =3D 11, .opc2 =3D 1, .access =3D PL0_W, .type =3D ARM_CP_NOP, @@ -4722,7 +4732,7 @@ static const ARMCPRegInfo v8_cp_reginfo[] =3D { .accessfn =3D aa64_cacheop_access }, { .name =3D "DC_CISW", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 7, .crm =3D 14, .opc2 =3D 2, - .access =3D PL1_W, .type =3D ARM_CP_NOP }, + .access =3D PL1_W, .accessfn =3D access_tsw, .type =3D ARM_CP_NOP }, /* TLBI operations */ { .name =3D "TLBI_VMALLE1IS", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 8, .crm =3D 3, .opc2 =3D 0, @@ -4903,17 +4913,17 @@ static const ARMCPRegInfo v8_cp_reginfo[] =3D { { .name =3D "DCIMVAC", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 6= , .opc2 =3D 1, .type =3D ARM_CP_NOP, .access =3D PL1_W }, { .name =3D "DCISW", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 6, = .opc2 =3D 2, - .type =3D ARM_CP_NOP, .access =3D PL1_W }, + .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D access_tsw }, { .name =3D "DCCMVAC", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 1= 0, .opc2 =3D 1, .type =3D ARM_CP_NOP, .access =3D PL1_W }, { .name =3D "DCCSW", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 10,= .opc2 =3D 2, - .type =3D ARM_CP_NOP, .access =3D PL1_W }, + .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D access_tsw }, { .name =3D "DCCMVAU", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 1= 1, .opc2 =3D 1, .type =3D ARM_CP_NOP, .access =3D PL1_W }, { .name =3D "DCCIMVAC", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D = 14, .opc2 =3D 1, .type =3D ARM_CP_NOP, .access =3D PL1_W }, { .name =3D "DCCISW", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 14= , .opc2 =3D 2, - .type =3D ARM_CP_NOP, .access =3D PL1_W }, + .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D access_tsw }, /* MMU Domain access control / MPU write buffer control */ { .name =3D "DACR", .cp =3D 15, .opc1 =3D 0, .crn =3D 3, .crm =3D 0, .= opc2 =3D 0, .access =3D PL1_RW, .accessfn =3D access_tvm_trvm, .resetvalue =3D 0, --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426910; cv=none; d=zohomail.com; s=zohoarc; b=ZPUVTOJ2PKDX8s0U7UVSvZAziXBkWvNIyDM1BnQTRNmk7ykJLtYkJcVSvwWK+/Ba0IPd34zKzyUiqDIB/MGdUCkffLGz2N5e9J3kpFp38V1jf+Br9wdGVb+wBGMp9+au3E6ueu/cTR25Pn7t8gfIxHaj/QQTrOzHOqyqWQcJyjE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426910; 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=63BtL3A7s5V/jzIhDC3vd/bTesp/g8P1iFKQFff6LWo=; b=I3xDrxtGp+3Andv13Z9FqTI/OZFeBoqdPnVjaeDPIpgINiIH8Hg78Zw3+66RMAUR9An/kqyJadtyxnRrlBa988cF0nt1yu2k1Z5QkfKW+mzZbwmjxAg6fmKLchTyw9cUTAOUiUVXOzu52SXuI+yHFw+EclE8apJLIThyKc0J+Xk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426910384989.4986188228235; Thu, 5 Mar 2020 08:48:30 -0800 (PST) Received: from localhost ([::1]:52826 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tfh-00065v-C7 for importer@patchew.org; Thu, 05 Mar 2020 11:48:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59328) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPE-0003dv-GY for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPD-0002Wc-E4 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:28 -0500 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:46642) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPD-0002VF-7l for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:27 -0500 Received: by mail-wr1-x443.google.com with SMTP id n15so2459578wrw.13 for ; Thu, 05 Mar 2020 08:31:27 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:25 -0800 (PST) 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=63BtL3A7s5V/jzIhDC3vd/bTesp/g8P1iFKQFff6LWo=; b=nClBpPxjndfhpoJl1hjUUYvHDudxt3C40qKEBcV0F8m1tHwrctqPTgjSOgxDZX+Tjl X+SxlJGMzcPujcLvLt+tgvhEe3sWUlOec9DZupQote12LvKPANjrzjSc1Gc8udC/LYZ3 I+yHGpCh9POwj3NGS1kIFucmbSJItJYcFfO3ioNzO4di+fMQbE1IoE8yDPSmzoAm7eGI Ki8aAOwdGYQ8LB/Rz16JE8W9Q5dykHpEBZrYHh6KuHiaLv43CsBeRUnAMcH+q7rnWnm9 a1P36iJVlS0dWFlZ7+lpjWX3aiOG4pAzCHdN/ZdB3wFTku4Oui/loBzYYfT5e4jDBUL5 /OUw== 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=63BtL3A7s5V/jzIhDC3vd/bTesp/g8P1iFKQFff6LWo=; b=c4h7oiD/MSaDN1VpeaB5McvTkOjgAlI06/105KeHne9DEOz0aKfD1ndyybMLrKdL4d L4lIJo8oeZYzO1mbILcrgMETOryplwiGI2qQqLGAKuxeG/q3vSQ+HzRXFGwNEAZul7/C lghHuSJB713imt+6F0vo7+8qE0Ey9z5P7vjwuRtu19Jmc420e9ZTCHn2C6p3Xxle0FlN UgkbAfE5+yunB6IG1N82fE/fAWOHbcaBLcplpVpkMfu/HkCVLDfXTQd4zIyjeq+wrqQK QfelKUAoJKOItrBHAGgPgWAks2DJCr3m5R4sjJj6fqitsMVGoTkfgf5Wlt+thK6XGg/A XxHw== X-Gm-Message-State: ANhLgQ36OP4nWgZVDwzSuN4ZZ2NjspZTKug+A6Mvx9rN9yhXrTAG1y4v Z4iPf4gDkPNtsbGbzGvCH3Rygd6Z2uzCLA== X-Google-Smtp-Source: ADFU+vuGyfydR8YAxAutrN36z0+zy9CFsH2Ns9QxkZPmrcrE2WUeuAZ24i9wcVfmfEGghWwaDDYLzg== X-Received: by 2002:adf:dd4d:: with SMTP id u13mr10990247wrm.70.1583425886040; Thu, 05 Mar 2020 08:31:26 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 22/37] target/arm: Honor the HCR_EL2.TACR bit Date: Thu, 5 Mar 2020 16:30:45 +0000 Message-Id: <20200305163100.22912-23-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) Content-Type: text/plain; charset="utf-8" From: Richard Henderson This bit traps EL1 access to the auxiliary control registers. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20200229012811.24129-9-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index feb279f44e9..e362d420eb4 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -553,6 +553,16 @@ static CPAccessResult access_tsw(CPUARMState *env, con= st ARMCPRegInfo *ri, return CP_ACCESS_OK; } =20 +/* Check for traps from EL1 due to HCR_EL2.TACR. */ +static CPAccessResult access_tacr(CPUARMState *env, const ARMCPRegInfo *ri, + bool isread) +{ + if (arm_current_el(env) =3D=3D 1 && (arm_hcr_el2_eff(env) & HCR_TACR))= { + return CP_ACCESS_TRAP_EL2; + } + return CP_ACCESS_OK; +} + static void dacr_write(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t = value) { ARMCPU *cpu =3D env_archcpu(env); @@ -6961,8 +6971,8 @@ static const ARMCPRegInfo ats1cp_reginfo[] =3D { static const ARMCPRegInfo actlr2_hactlr2_reginfo[] =3D { { .name =3D "ACTLR2", .state =3D ARM_CP_STATE_AA32, .cp =3D 15, .opc1 =3D 0, .crn =3D 1, .crm =3D 0, .opc2 =3D 3, - .access =3D PL1_RW, .type =3D ARM_CP_CONST, - .resetvalue =3D 0 }, + .access =3D PL1_RW, .accessfn =3D access_tacr, + .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, { .name =3D "HACTLR2", .state =3D ARM_CP_STATE_AA32, .cp =3D 15, .opc1 =3D 4, .crn =3D 1, .crm =3D 0, .opc2 =3D 3, .access =3D PL2_RW, .type =3D ARM_CP_CONST, @@ -7718,8 +7728,8 @@ void register_cp_regs_for_features(ARMCPU *cpu) ARMCPRegInfo auxcr_reginfo[] =3D { { .name =3D "ACTLR_EL1", .state =3D ARM_CP_STATE_BOTH, .opc0 =3D 3, .opc1 =3D 0, .crn =3D 1, .crm =3D 0, .opc2 =3D = 1, - .access =3D PL1_RW, .type =3D ARM_CP_CONST, - .resetvalue =3D cpu->reset_auxcr }, + .access =3D PL1_RW, .accessfn =3D access_tacr, + .type =3D ARM_CP_CONST, .resetvalue =3D cpu->reset_auxcr }, { .name =3D "ACTLR_EL2", .state =3D ARM_CP_STATE_BOTH, .opc0 =3D 3, .opc1 =3D 4, .crn =3D 1, .crm =3D 0, .opc2 =3D = 1, .access =3D PL2_RW, .type =3D ARM_CP_CONST, --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426265; cv=none; d=zohomail.com; s=zohoarc; b=nVOlA3zfpP1qxBeJ9NF7GUX72HCxvk412tGcl2BMvYKtzCDrGGNv0zWLJskxsBsrw+4NgnSp31K2PlD5VfM/19oku23+wInXduziwZG0sc3QR+q+qvnzRUK9B8kloqmW2IuuKVJ9f+nj3HNgEMZnGRMihB6X/SIvmGB2TBzkp5Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426265; 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=cBpCaClb9/Cygo6mKyCev/5pUMwMYtTJNviojF+pUgs=; b=Y3A5WDcwuvs7nPmbzdosfr6AGiH5/si/neoPhHEodWEokfC1QXW3YTidHDicvEAZn1kw762kSere1lr1eFyldQ2JRizWfMqNdrcJYQhTSiyw605Yjl1ofU66/Gf2KkCF2fvtBJsft/O4w+2ex5UgqfviuqjPFVdKyn2RATfw/sE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426265849381.8097084080572; Thu, 5 Mar 2020 08:37:45 -0800 (PST) Received: from localhost ([::1]:52550 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tVI-0006aO-RB for importer@patchew.org; Thu, 05 Mar 2020 11:37:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59349) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPG-0003fa-5I for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPE-0002ZB-NN for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:30 -0500 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:45950) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPE-0002Xi-GG for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:28 -0500 Received: by mail-wr1-x442.google.com with SMTP id v2so7780483wrp.12 for ; Thu, 05 Mar 2020 08:31:28 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:26 -0800 (PST) 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=cBpCaClb9/Cygo6mKyCev/5pUMwMYtTJNviojF+pUgs=; b=iakjqyEhuffLB3W6UrYStftfKEseihDk7eqC6Us48xyi8i7GHCAbrFIRM7ZjSz2oHW LpIdkMCbuhXgr6RDvXy7Q+4dxALrEYV2AHcv+MTfnigQ/QFhGaMMJoxejXAGHxof8/QH wIBtlTXqCBhPVD+e2CtFl2f58NIhpbMZRUDpvNJ5OpIE8TOsrz0X8B/zJZlQPWq8v1m7 60OJSH5gIEMbAumNe8lAtnTaukYRxBlVep/9bNgKLQ/s929IJ23L1TN65zHkPWKAOpaE ZaoE5o2+Tpzai6pKZszdJDLfM1ZtUJNyEOn1QU44hZfPFHIBUq2g76gSNfTZRmBkEmp1 9Sug== 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=cBpCaClb9/Cygo6mKyCev/5pUMwMYtTJNviojF+pUgs=; b=FRbztYOKhZsWCH4RQ0C/T49rR5gvDazp6JXamttZaJbmqjdPLobo9Ogalghqsw1YU8 kMvpVytkVVAj10WTcKAr/ddQ4e8ZCLkOfhQsEa3GX7P3DFQThoXvYQnLU03D5Hwps1sb FCEVHYwkB/YEL1gz9uWF3xIOgyrMtOlzs6Drz6xJHB5pyOyS6MXOscZfzTJCsHu8D4X0 0JIy2WFUjMkOfntkBGTaHfXOXp9UyvFyxkvMhc++ptKfloJgvbmLMU8S8D53I8gXtfkk BdHIxEWWbz5rWmAj8dj3OTLWdvnQOIqgYG0ru7g3jvMvHvxpYkzZJsJ4ZO16KQHdWKaA wFqQ== X-Gm-Message-State: ANhLgQ0DQ2mnGO4tRaSRwpB75TNg44eDz9bWuj531UkQX63btfG6wtU9 a90rc/K8GfcPGFXnnkW8O+mCO+yH2naHPg== X-Google-Smtp-Source: ADFU+vv4jXOd0B5kPknWeGGDGR6RttbXBDFksxaMh5J0vV6FczDlxh4F7LN/4HHbLXSCMZPanV1Eyw== X-Received: by 2002:adf:ec50:: with SMTP id w16mr11312961wrn.9.1583425886968; Thu, 05 Mar 2020 08:31:26 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 23/37] target/arm: Honor the HCR_EL2.TPCP bit Date: Thu, 5 Mar 2020 16:30:46 +0000 Message-Id: <20200305163100.22912-24-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) Content-Type: text/plain; charset="utf-8" From: Richard Henderson This bit traps EL1 access to cache maintenance insns that operate to the point of coherency or persistence. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20200229012811.24129-10-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 39 +++++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index e362d420eb4..e6eaec8ad31 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -4314,6 +4314,28 @@ static CPAccessResult aa64_cacheop_access(CPUARMStat= e *env, return CP_ACCESS_OK; } =20 +static CPAccessResult aa64_cacheop_poc_access(CPUARMState *env, + const ARMCPRegInfo *ri, + bool isread) +{ + /* Cache invalidate/clean to Point of Coherency or Persistence... */ + switch (arm_current_el(env)) { + case 0: + /* ... EL0 must UNDEF unless SCTLR_EL1.UCI is set. */ + if (!(arm_sctlr(env, 0) & SCTLR_UCI)) { + return CP_ACCESS_TRAP; + } + /* fall through */ + case 1: + /* ... EL1 must trap to EL2 if HCR_EL2.TPCP is set. */ + if (arm_hcr_el2_eff(env) & HCR_TPCP) { + return CP_ACCESS_TRAP_EL2; + } + break; + } + return CP_ACCESS_OK; +} + /* See: D4.7.2 TLB maintenance requirements and the TLB maintenance instru= ctions * Page D4-1736 (DDI0487A.b) */ @@ -4721,14 +4743,15 @@ static const ARMCPRegInfo v8_cp_reginfo[] =3D { .accessfn =3D aa64_cacheop_access }, { .name =3D "DC_IVAC", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 7, .crm =3D 6, .opc2 =3D 1, - .access =3D PL1_W, .type =3D ARM_CP_NOP }, + .access =3D PL1_W, .accessfn =3D aa64_cacheop_poc_access, + .type =3D ARM_CP_NOP }, { .name =3D "DC_ISW", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 7, .crm =3D 6, .opc2 =3D 2, .access =3D PL1_W, .accessfn =3D access_tsw, .type =3D ARM_CP_NOP }, { .name =3D "DC_CVAC", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 3, .crn =3D 7, .crm =3D 10, .opc2 =3D 1, .access =3D PL0_W, .type =3D ARM_CP_NOP, - .accessfn =3D aa64_cacheop_access }, + .accessfn =3D aa64_cacheop_poc_access }, { .name =3D "DC_CSW", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 7, .crm =3D 10, .opc2 =3D 2, .access =3D PL1_W, .accessfn =3D access_tsw, .type =3D ARM_CP_NOP }, @@ -4739,7 +4762,7 @@ static const ARMCPRegInfo v8_cp_reginfo[] =3D { { .name =3D "DC_CIVAC", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 3, .crn =3D 7, .crm =3D 14, .opc2 =3D 1, .access =3D PL0_W, .type =3D ARM_CP_NOP, - .accessfn =3D aa64_cacheop_access }, + .accessfn =3D aa64_cacheop_poc_access }, { .name =3D "DC_CISW", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 7, .crm =3D 14, .opc2 =3D 2, .access =3D PL1_W, .accessfn =3D access_tsw, .type =3D ARM_CP_NOP }, @@ -4921,17 +4944,17 @@ static const ARMCPRegInfo v8_cp_reginfo[] =3D { { .name =3D "BPIMVA", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 5,= .opc2 =3D 7, .type =3D ARM_CP_NOP, .access =3D PL1_W }, { .name =3D "DCIMVAC", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 6= , .opc2 =3D 1, - .type =3D ARM_CP_NOP, .access =3D PL1_W }, + .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D aa64_cacheop_= poc_access }, { .name =3D "DCISW", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 6, = .opc2 =3D 2, .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D access_tsw }, { .name =3D "DCCMVAC", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 1= 0, .opc2 =3D 1, - .type =3D ARM_CP_NOP, .access =3D PL1_W }, + .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D aa64_cacheop_= poc_access }, { .name =3D "DCCSW", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 10,= .opc2 =3D 2, .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D access_tsw }, { .name =3D "DCCMVAU", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 1= 1, .opc2 =3D 1, .type =3D ARM_CP_NOP, .access =3D PL1_W }, { .name =3D "DCCIMVAC", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D = 14, .opc2 =3D 1, - .type =3D ARM_CP_NOP, .access =3D PL1_W }, + .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D aa64_cacheop_= poc_access }, { .name =3D "DCCISW", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 14= , .opc2 =3D 2, .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D access_tsw }, /* MMU Domain access control / MPU write buffer control */ @@ -6750,7 +6773,7 @@ static const ARMCPRegInfo dcpop_reg[] =3D { { .name =3D "DC_CVAP", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 3, .crn =3D 7, .crm =3D 12, .opc2 =3D 1, .access =3D PL0_W, .type =3D ARM_CP_NO_RAW | ARM_CP_SUPPRESS_TB_END, - .accessfn =3D aa64_cacheop_access, .writefn =3D dccvap_writefn }, + .accessfn =3D aa64_cacheop_poc_access, .writefn =3D dccvap_writefn }, REGINFO_SENTINEL }; =20 @@ -6758,7 +6781,7 @@ static const ARMCPRegInfo dcpodp_reg[] =3D { { .name =3D "DC_CVADP", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 3, .crn =3D 7, .crm =3D 13, .opc2 =3D 1, .access =3D PL0_W, .type =3D ARM_CP_NO_RAW | ARM_CP_SUPPRESS_TB_END, - .accessfn =3D aa64_cacheop_access, .writefn =3D dccvap_writefn }, + .accessfn =3D aa64_cacheop_poc_access, .writefn =3D dccvap_writefn }, REGINFO_SENTINEL }; #endif /*CONFIG_USER_ONLY*/ --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426427; cv=none; d=zohomail.com; s=zohoarc; b=j662pWKcVrfvLddLGttXNYOZorjiNDeJ+C+hxnh9t5eb9vtaO2pLK54P0X4rBoPTFMgM+v3D8HqrbhxYcvuoEyMwAaVghc559VVU98KFWUjnPbTFVE7WJHytlTm35iT6p6+/INQkLsaJK5BGusVPHA+MiesQuVHhnYgH9IQvoxc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426427; 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=e+/afNoZqx1Svd6138SnxY+KW5NBVyXfjUhJrOnjzdI=; b=K2TzJUHS0s9JUnuk8/ZfaoD3/BRo4V/SR10BPNB12RiqIXlxeQKp0U7Fc1ihR802+jzw82HkPuRqdqBMKUIeedUoZPTJgGuSt9rAlLlPgP2Gm5QjVi58YK5NIS7SozxKJiPsdc/1KTZpNv+X/YqrLXwSt/JX0wsWBm7+ijsYhX0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426427234140.2749733621231; Thu, 5 Mar 2020 08:40:27 -0800 (PST) Received: from localhost ([::1]:52598 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tXu-0001zO-4D for importer@patchew.org; Thu, 05 Mar 2020 11:40:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59423) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPL-0003m0-Es for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPG-0002dj-3X for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:35 -0500 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:51181) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPF-0002am-S7 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:30 -0500 Received: by mail-wm1-x342.google.com with SMTP id a5so7065813wmb.0 for ; Thu, 05 Mar 2020 08:31:29 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:27 -0800 (PST) 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=e+/afNoZqx1Svd6138SnxY+KW5NBVyXfjUhJrOnjzdI=; b=bzhhlXN284HsCmGfYzBdl07YuwBU7tEZEoGZiJbiGWRSBkj3wfKFhWCwDpTJVEgipT tqhJsX6pvF8dtfsUU6rIxahqDjgp6qyzNua61IqJX21uBbYnCTTdBDLInjAXoVdUkXax S92m5S9aXVOdsPUcfLmWOAqWD3HncMdXjPGbZ3+pgIrF4zaFgGDqlUqAp9GJiGb7aVXS CJA5rK3XmxXoQK3jlRZzVG/WOrDOjF8aiUWcl15U/FWPNsvzoJ5PCwurRS+N/V4ophyW a4LZ3zC+sTpkOiSiOi0y+xbeHU3U00O33F7fuWrkyvvjyUp8E+T7/1cZmOCBZFmqcwy+ WNyw== 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=e+/afNoZqx1Svd6138SnxY+KW5NBVyXfjUhJrOnjzdI=; b=ZOzgJ4rXosrfqPmeAWseU5f0h17pzNU/aBM+aHyO2iooIqlAqUED7ftcGW8CrVFWXX DVwXwkllBSrmFSvJwK/+Yt2E8EqxQmmjAt2TfIRopau8MBfgP+4QYXrEs9XdgAVEngsG YMOXoWjAfKcpi4E6zjItNlwOfSVibg41i0w2GnShnQTAAXuixf/dLSyjOaWumEXB0fqo rc8xyrMX8hYYNvNo1qVmYQ4gW/igvFo1G2tAVFZm+twW8Sp64n9tV0euMR3G7M2xNPUo IDOqpSFE2Og+u0Ylmrl5le3DYsDJ82Y7wjAZ3mV+qE7uqfYR6jccjLXITqziKRzD48tG REhg== X-Gm-Message-State: ANhLgQ39vVinGxTQJcQ16n762OxXvkCuDF/befd5kDipEbqR01v7cgS4 Rmzkx5m4O5kQyHZNbLFKcHWsa1xlJWviTw== X-Google-Smtp-Source: ADFU+vsy+9BjEQOI/+asEBVPi4zMGLxIAOSLe21iigi5I0HIWooG8VVtbP286Lm7R+JPmtIUtuCtiw== X-Received: by 2002:a1c:41c3:: with SMTP id o186mr10249722wma.27.1583425888351; Thu, 05 Mar 2020 08:31:28 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 24/37] target/arm: Honor the HCR_EL2.TPU bit Date: Thu, 5 Mar 2020 16:30:47 +0000 Message-Id: <20200305163100.22912-25-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) Content-Type: text/plain; charset="utf-8" From: Richard Henderson This bit traps EL1 access to cache maintenance insns that operate to the point of unification. There are no longer any references to plain aa64_cacheop_access, so remove it. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20200229012811.24129-11-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 53 +++++++++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index e6eaec8ad31..09b5022919a 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -4301,19 +4301,6 @@ static const ARMCPRegInfo uao_reginfo =3D { .readfn =3D aa64_uao_read, .writefn =3D aa64_uao_write }; =20 -static CPAccessResult aa64_cacheop_access(CPUARMState *env, - const ARMCPRegInfo *ri, - bool isread) -{ - /* Cache invalidate/clean: NOP, but EL0 must UNDEF unless - * SCTLR_EL1.UCI is set. - */ - if (arm_current_el(env) =3D=3D 0 && !(arm_sctlr(env, 0) & SCTLR_UCI)) { - return CP_ACCESS_TRAP; - } - return CP_ACCESS_OK; -} - static CPAccessResult aa64_cacheop_poc_access(CPUARMState *env, const ARMCPRegInfo *ri, bool isread) @@ -4336,6 +4323,28 @@ static CPAccessResult aa64_cacheop_poc_access(CPUARM= State *env, return CP_ACCESS_OK; } =20 +static CPAccessResult aa64_cacheop_pou_access(CPUARMState *env, + const ARMCPRegInfo *ri, + bool isread) +{ + /* Cache invalidate/clean to Point of Unification... */ + switch (arm_current_el(env)) { + case 0: + /* ... EL0 must UNDEF unless SCTLR_EL1.UCI is set. */ + if (!(arm_sctlr(env, 0) & SCTLR_UCI)) { + return CP_ACCESS_TRAP; + } + /* fall through */ + case 1: + /* ... EL1 must trap to EL2 if HCR_EL2.TPU is set. */ + if (arm_hcr_el2_eff(env) & HCR_TPU) { + return CP_ACCESS_TRAP_EL2; + } + break; + } + return CP_ACCESS_OK; +} + /* See: D4.7.2 TLB maintenance requirements and the TLB maintenance instru= ctions * Page D4-1736 (DDI0487A.b) */ @@ -4733,14 +4742,16 @@ static const ARMCPRegInfo v8_cp_reginfo[] =3D { /* Cache ops: all NOPs since we don't emulate caches */ { .name =3D "IC_IALLUIS", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 7, .crm =3D 1, .opc2 =3D 0, - .access =3D PL1_W, .type =3D ARM_CP_NOP }, + .access =3D PL1_W, .type =3D ARM_CP_NOP, + .accessfn =3D aa64_cacheop_pou_access }, { .name =3D "IC_IALLU", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 7, .crm =3D 5, .opc2 =3D 0, - .access =3D PL1_W, .type =3D ARM_CP_NOP }, + .access =3D PL1_W, .type =3D ARM_CP_NOP, + .accessfn =3D aa64_cacheop_pou_access }, { .name =3D "IC_IVAU", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 3, .crn =3D 7, .crm =3D 5, .opc2 =3D 1, .access =3D PL0_W, .type =3D ARM_CP_NOP, - .accessfn =3D aa64_cacheop_access }, + .accessfn =3D aa64_cacheop_pou_access }, { .name =3D "DC_IVAC", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 7, .crm =3D 6, .opc2 =3D 1, .access =3D PL1_W, .accessfn =3D aa64_cacheop_poc_access, @@ -4758,7 +4769,7 @@ static const ARMCPRegInfo v8_cp_reginfo[] =3D { { .name =3D "DC_CVAU", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 3, .crn =3D 7, .crm =3D 11, .opc2 =3D 1, .access =3D PL0_W, .type =3D ARM_CP_NOP, - .accessfn =3D aa64_cacheop_access }, + .accessfn =3D aa64_cacheop_pou_access }, { .name =3D "DC_CIVAC", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 3, .crn =3D 7, .crm =3D 14, .opc2 =3D 1, .access =3D PL0_W, .type =3D ARM_CP_NOP, @@ -4932,13 +4943,13 @@ static const ARMCPRegInfo v8_cp_reginfo[] =3D { .writefn =3D tlbiipas2_is_write }, /* 32 bit cache operations */ { .name =3D "ICIALLUIS", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D= 1, .opc2 =3D 0, - .type =3D ARM_CP_NOP, .access =3D PL1_W }, + .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D aa64_cacheop_= pou_access }, { .name =3D "BPIALLUIS", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D= 1, .opc2 =3D 6, .type =3D ARM_CP_NOP, .access =3D PL1_W }, { .name =3D "ICIALLU", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 5= , .opc2 =3D 0, - .type =3D ARM_CP_NOP, .access =3D PL1_W }, + .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D aa64_cacheop_= pou_access }, { .name =3D "ICIMVAU", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 5= , .opc2 =3D 1, - .type =3D ARM_CP_NOP, .access =3D PL1_W }, + .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D aa64_cacheop_= pou_access }, { .name =3D "BPIALL", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 5,= .opc2 =3D 6, .type =3D ARM_CP_NOP, .access =3D PL1_W }, { .name =3D "BPIMVA", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 5,= .opc2 =3D 7, @@ -4952,7 +4963,7 @@ static const ARMCPRegInfo v8_cp_reginfo[] =3D { { .name =3D "DCCSW", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 10,= .opc2 =3D 2, .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D access_tsw }, { .name =3D "DCCMVAU", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 1= 1, .opc2 =3D 1, - .type =3D ARM_CP_NOP, .access =3D PL1_W }, + .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D aa64_cacheop_= pou_access }, { .name =3D "DCCIMVAC", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D = 14, .opc2 =3D 1, .type =3D ARM_CP_NOP, .access =3D PL1_W, .accessfn =3D aa64_cacheop_= poc_access }, { .name =3D "DCCISW", .cp =3D 15, .opc1 =3D 0, .crn =3D 7, .crm =3D 14= , .opc2 =3D 2, --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583427178; cv=none; d=zohomail.com; s=zohoarc; b=bbS2iL0v70wXkVQkRlbAZB2v1hsifXADCejSz3yYO0RdsA3BcHmFcjXO3o7v9IQC1faaxl/yDQJyyZKpsGRyHsyyvXnhQ4bhmc7FPbe24hhlEbKL+vVT5xu4jCCUZgNYRsKwTUIUae+DmwZJU04zOVXUyZsRfuv3dMfZWHPinyY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583427178; 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=uJXmH/5kRWSP+xnkHKGQSvpL4CTmOayKZdrdHq01azk=; b=KpOj+2Hy2l+x/Rml2VnLcyR2FP7LVB+BAL6vsxvq7pyMLn5YZ9Vl+kS6f3Wsuwgfy1uwj8hm/ZYzzi7TRwLT++WTak7QLQUqLawSV8Ywd1ZYlJCx/Lk3AfHaAIRqmRPXQDQhlTiDaxIgG9Q0w3U8BxtVHnanJ0CYr1Cjn0UpkL8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583427178607399.8556833213577; Thu, 5 Mar 2020 08:52:58 -0800 (PST) Received: from localhost ([::1]:52994 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tk1-0005M8-Es for importer@patchew.org; Thu, 05 Mar 2020 11:52:57 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59409) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPL-0003l3-3R for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPI-0002gl-0Z for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:34 -0500 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:38864) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPH-0002fK-Oe for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:31 -0500 Received: by mail-wr1-x441.google.com with SMTP id t11so7800765wrw.5 for ; Thu, 05 Mar 2020 08:31:31 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:28 -0800 (PST) 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=uJXmH/5kRWSP+xnkHKGQSvpL4CTmOayKZdrdHq01azk=; b=GQASX7fgj/AqhzqK/x6iBCSpv88ei+/EMlHcHZczAjYk37NWrXPvpuDcp6b39w4xr8 qe2IL+SF4W7D03jivvLdScVVyC+RFW8ENly3Y/N706C31lqL1T4HcgW6NY9JKXM1dgPN +6c8WlFEBozwvnzqqIBofuiNwBa/5jhnY59YBuBHG4ftgiDSdHPJG+6eoK5ndNXzCkgI lWA7F5veNfGyLY8aeZIJUsOHo9Q0NhhzV1F7tQLXL2aiO1PJKcAXAdc59nnF1QwhsioZ 0t0s3HUS2QIxfCqjjv+ignSWGl/sw5pgwhNAUMJQs9muEqn9U/sAHGwB0c514XcANxIb autQ== 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=uJXmH/5kRWSP+xnkHKGQSvpL4CTmOayKZdrdHq01azk=; b=MiMVZao2JE0hq9wWMte/nfzWVvORLYOwUTYacQ7kOuBMgYinYw3Brmo7GkZe72rRf/ 6zRXn5iy4Z0BAJre7n0VJz4KCXuPsF8yNgaN9TgCTMNgWDqQliqGCV6e1ZiXEAPNPc7A TZKS6KtGuX8BJXi7RD2k0dnyJ2+xQaDxF9PhR4qxckw1LvpVA69Qdz5nOw/0kzo60iOu t2nX6cNnRU0jMAJ4VjmlI1zkkA6cHpEDyH+K7CBoHbPKEsr+j3rYEqyUQLIkWfPvQlsS luRbZ01nn3nmwtdhE/iCIkKLmi9N3k/qv+1sQegwwai+Bvq7VTJ3q4TdFaxjnHW3NqYa orfQ== X-Gm-Message-State: ANhLgQ2OGuRDneGo/zXFKX24qF/bSloBOowJNEn2S6ifCdB5sw1JBZCH qVKzx9stxiZxcTv1xVyM+ULubICb9lqEjw== X-Google-Smtp-Source: ADFU+vvMXhYxYRlW8gskrMamYthXqmMsMF6VQZFSzkR/9SyCJU+q81Pv5YLAssA2NqcWaIRquM1hqg== X-Received: by 2002:adf:a2d9:: with SMTP id t25mr10836910wra.84.1583425889527; Thu, 05 Mar 2020 08:31:29 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 25/37] target/arm: Honor the HCR_EL2.TTLB bit Date: Thu, 5 Mar 2020 16:30:48 +0000 Message-Id: <20200305163100.22912-26-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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 This bit traps EL1 access to tlb maintenance insns. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20200229012811.24129-12-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 85 +++++++++++++++++++++++++++++---------------- 1 file changed, 55 insertions(+), 30 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 09b5022919a..6abf52db660 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -563,6 +563,16 @@ static CPAccessResult access_tacr(CPUARMState *env, co= nst ARMCPRegInfo *ri, return CP_ACCESS_OK; } =20 +/* Check for traps from EL1 due to HCR_EL2.TTLB. */ +static CPAccessResult access_ttlb(CPUARMState *env, const ARMCPRegInfo *ri, + bool isread) +{ + if (arm_current_el(env) =3D=3D 1 && (arm_hcr_el2_eff(env) & HCR_TTLB))= { + return CP_ACCESS_TRAP_EL2; + } + return CP_ACCESS_OK; +} + static void dacr_write(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t = value) { ARMCPU *cpu =3D env_archcpu(env); @@ -2285,41 +2295,53 @@ static const ARMCPRegInfo v7_cp_reginfo[] =3D { .type =3D ARM_CP_NO_RAW, .access =3D PL1_R, .readfn =3D isr_read }, /* 32 bit ITLB invalidates */ { .name =3D "ITLBIALL", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D = 5, .opc2 =3D 0, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbiall_wri= te }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbiall_write }, { .name =3D "ITLBIMVA", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D = 5, .opc2 =3D 1, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbimva_wri= te }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbimva_write }, { .name =3D "ITLBIASID", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D= 5, .opc2 =3D 2, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbiasid_wr= ite }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbiasid_write }, /* 32 bit DTLB invalidates */ { .name =3D "DTLBIALL", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D = 6, .opc2 =3D 0, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbiall_wri= te }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbiall_write }, { .name =3D "DTLBIMVA", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D = 6, .opc2 =3D 1, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbimva_wri= te }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbimva_write }, { .name =3D "DTLBIASID", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D= 6, .opc2 =3D 2, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbiasid_wr= ite }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbiasid_write }, /* 32 bit TLB invalidates */ { .name =3D "TLBIALL", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D 7= , .opc2 =3D 0, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbiall_wri= te }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbiall_write }, { .name =3D "TLBIMVA", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D 7= , .opc2 =3D 1, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbimva_wri= te }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbimva_write }, { .name =3D "TLBIASID", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D = 7, .opc2 =3D 2, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbiasid_wr= ite }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbiasid_write }, { .name =3D "TLBIMVAA", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D = 7, .opc2 =3D 3, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbimvaa_wr= ite }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbimvaa_write }, REGINFO_SENTINEL }; =20 static const ARMCPRegInfo v7mp_cp_reginfo[] =3D { /* 32 bit TLB invalidates, Inner Shareable */ { .name =3D "TLBIALLIS", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D= 3, .opc2 =3D 0, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbiall_is_= write }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbiall_is_write }, { .name =3D "TLBIMVAIS", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D= 3, .opc2 =3D 1, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbimva_is_= write }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbimva_is_write }, { .name =3D "TLBIASIDIS", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm = =3D 3, .opc2 =3D 2, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, .writefn =3D tlbiasid_is_write }, { .name =3D "TLBIMVAAIS", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm = =3D 3, .opc2 =3D 3, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, .writefn =3D tlbimvaa_is_write }, REGINFO_SENTINEL }; @@ -4780,51 +4802,51 @@ static const ARMCPRegInfo v8_cp_reginfo[] =3D { /* TLBI operations */ { .name =3D "TLBI_VMALLE1IS", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 8, .crm =3D 3, .opc2 =3D 0, - .access =3D PL1_W, .type =3D ARM_CP_NO_RAW, + .access =3D PL1_W, .accessfn =3D access_ttlb, .type =3D ARM_CP_NO_RA= W, .writefn =3D tlbi_aa64_vmalle1is_write }, { .name =3D "TLBI_VAE1IS", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 8, .crm =3D 3, .opc2 =3D 1, - .access =3D PL1_W, .type =3D ARM_CP_NO_RAW, + .access =3D PL1_W, .accessfn =3D access_ttlb, .type =3D ARM_CP_NO_RA= W, .writefn =3D tlbi_aa64_vae1is_write }, { .name =3D "TLBI_ASIDE1IS", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 8, .crm =3D 3, .opc2 =3D 2, - .access =3D PL1_W, .type =3D ARM_CP_NO_RAW, + .access =3D PL1_W, .accessfn =3D access_ttlb, .type =3D ARM_CP_NO_RA= W, .writefn =3D tlbi_aa64_vmalle1is_write }, { .name =3D "TLBI_VAAE1IS", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 8, .crm =3D 3, .opc2 =3D 3, - .access =3D PL1_W, .type =3D ARM_CP_NO_RAW, + .access =3D PL1_W, .accessfn =3D access_ttlb, .type =3D ARM_CP_NO_RA= W, .writefn =3D tlbi_aa64_vae1is_write }, { .name =3D "TLBI_VALE1IS", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 8, .crm =3D 3, .opc2 =3D 5, - .access =3D PL1_W, .type =3D ARM_CP_NO_RAW, + .access =3D PL1_W, .accessfn =3D access_ttlb, .type =3D ARM_CP_NO_RA= W, .writefn =3D tlbi_aa64_vae1is_write }, { .name =3D "TLBI_VAALE1IS", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 8, .crm =3D 3, .opc2 =3D 7, - .access =3D PL1_W, .type =3D ARM_CP_NO_RAW, + .access =3D PL1_W, .accessfn =3D access_ttlb, .type =3D ARM_CP_NO_RA= W, .writefn =3D tlbi_aa64_vae1is_write }, { .name =3D "TLBI_VMALLE1", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 8, .crm =3D 7, .opc2 =3D 0, - .access =3D PL1_W, .type =3D ARM_CP_NO_RAW, + .access =3D PL1_W, .accessfn =3D access_ttlb, .type =3D ARM_CP_NO_RA= W, .writefn =3D tlbi_aa64_vmalle1_write }, { .name =3D "TLBI_VAE1", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 8, .crm =3D 7, .opc2 =3D 1, - .access =3D PL1_W, .type =3D ARM_CP_NO_RAW, + .access =3D PL1_W, .accessfn =3D access_ttlb, .type =3D ARM_CP_NO_RA= W, .writefn =3D tlbi_aa64_vae1_write }, { .name =3D "TLBI_ASIDE1", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 8, .crm =3D 7, .opc2 =3D 2, - .access =3D PL1_W, .type =3D ARM_CP_NO_RAW, + .access =3D PL1_W, .accessfn =3D access_ttlb, .type =3D ARM_CP_NO_RA= W, .writefn =3D tlbi_aa64_vmalle1_write }, { .name =3D "TLBI_VAAE1", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 8, .crm =3D 7, .opc2 =3D 3, - .access =3D PL1_W, .type =3D ARM_CP_NO_RAW, + .access =3D PL1_W, .accessfn =3D access_ttlb, .type =3D ARM_CP_NO_RA= W, .writefn =3D tlbi_aa64_vae1_write }, { .name =3D "TLBI_VALE1", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 8, .crm =3D 7, .opc2 =3D 5, - .access =3D PL1_W, .type =3D ARM_CP_NO_RAW, + .access =3D PL1_W, .accessfn =3D access_ttlb, .type =3D ARM_CP_NO_RA= W, .writefn =3D tlbi_aa64_vae1_write }, { .name =3D "TLBI_VAALE1", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 0, .crn =3D 8, .crm =3D 7, .opc2 =3D 7, - .access =3D PL1_W, .type =3D ARM_CP_NO_RAW, + .access =3D PL1_W, .accessfn =3D access_ttlb, .type =3D ARM_CP_NO_RA= W, .writefn =3D tlbi_aa64_vae1_write }, { .name =3D "TLBI_IPAS2E1IS", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 1, .opc1 =3D 4, .crn =3D 8, .crm =3D 0, .opc2 =3D 1, @@ -4910,14 +4932,17 @@ static const ARMCPRegInfo v8_cp_reginfo[] =3D { #endif /* TLB invalidate last level of translation table walk */ { .name =3D "TLBIMVALIS", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm = =3D 3, .opc2 =3D 5, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbimva_is_= write }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbimva_is_write }, { .name =3D "TLBIMVAALIS", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm = =3D 3, .opc2 =3D 7, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, .writefn =3D tlbimvaa_is_write }, { .name =3D "TLBIMVAL", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D = 7, .opc2 =3D 5, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbimva_wri= te }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbimva_write }, { .name =3D "TLBIMVAAL", .cp =3D 15, .opc1 =3D 0, .crn =3D 8, .crm =3D= 7, .opc2 =3D 7, - .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .writefn =3D tlbimvaa_wr= ite }, + .type =3D ARM_CP_NO_RAW, .access =3D PL1_W, .accessfn =3D access_ttl= b, + .writefn =3D tlbimvaa_write }, { .name =3D "TLBIMVALH", .cp =3D 15, .opc1 =3D 4, .crn =3D 8, .crm =3D= 7, .opc2 =3D 5, .type =3D ARM_CP_NO_RAW, .access =3D PL2_W, .writefn =3D tlbimva_hyp_write }, --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583427640; cv=none; d=zohomail.com; s=zohoarc; b=mZwQpK3J240inBi7lIQ23JLrqymXyY93y8g2ONnCvkJYlKaa3Bk+fwE87kmOCuGBQ6WSw3Rk9dLqEgwMMDt4wCDtzl2zZgcTIxsJiL4qjktUqUiidmsxQW/YQPjzHBkKftzomyAVyF7FDsRjpEjt6Jp3UuEmHeolkB0CnUosgO0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583427640; 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=RzB+Z8qRSlkYR5jjZd32X9gmPCCsZy1SF2ry7LYaxxA=; b=EO3nayeKdRKAELWwBjVYmjOcwSeXEbO2gZtXcxb/xB03cRGDy8+0d/Pu1uVY/9gd4hBffRUPXLwEChWW8lGNztccFPVVEa8uHBlQxDXzYPVOONzP6uhADKlcwDbe6E9WQTTps3JjATLQiIrxy28T9zaMm6XFhOY/8C/eiNUHN10= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583427640498545.2239715623251; Thu, 5 Mar 2020 09:00:40 -0800 (PST) Received: from localhost ([::1]:53228 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9trT-0002WJ-6s for importer@patchew.org; Thu, 05 Mar 2020 12:00:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59401) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPK-0003ja-Gk for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPI-0002i8-Eu for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:34 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:36173) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPI-0002gA-8I for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:32 -0500 Received: by mail-wm1-x32b.google.com with SMTP id g83so6438357wme.1 for ; Thu, 05 Mar 2020 08:31:32 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:30 -0800 (PST) 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=RzB+Z8qRSlkYR5jjZd32X9gmPCCsZy1SF2ry7LYaxxA=; b=sieT12oT/MSYkcgdUn6h82ekgTnC1A9e6Lk09FTx6Kj7HLqB63dTaztX4YBwVJb5Os W28nJPVoHsbdHSU3nQ8UE2gaxTCtKoIjDUYPPQlIQIzpA1kEtwDT/73m8kl96fwKHxiL m08UoAuvBlzd+/C7V+gKKjAxvXInCndcObHhT7FQPmJJTrnV4iG3lQnrWkcNkdEGdv8x VZ6RVCq7KqKBa2yI+x1HpkKJ8v36D2OclsjPzYWRhknnQWxKdDJdSd4zjbQQXxyJ5DDP MDlEge3DIaRY0+iM5JJaTCWKuKes0HahpIJdZsDEtsILjyJwz6H8oQn7F6rL1x85wcmQ nz6w== 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=RzB+Z8qRSlkYR5jjZd32X9gmPCCsZy1SF2ry7LYaxxA=; b=iG3YPTwzqiblTc3vIDvI+CAEb8faLwYIDKA1VnCzeoXY5rzM7IPWvV/Q6Uaifxx8D6 piXxE2fcQeUWlxs8DzkcHQ7n03szHJz9sZ43eZjb5weltCMAavXgt0MO3NhFn1F9auvs zwvmWq9wtYSjkhs7z8RQm+0OcwxsOuHONsCtR0XPMDCgKWPsuA2mA/z8GFZ7KAwjST04 OuCkO1Ig/66D4q+H6EvYvWha26ldpSDfDkGxemwr9qeaypGIcCWeIy/B+zeOG28FedaF mV3J89snWiBVJJXtxpqauXe1pkdp3LXBZ9r5TfqRB6iL3CP21gLiJdc7KfwAejWQwAyW 7SjA== X-Gm-Message-State: ANhLgQ1lLqI64t97OWAr5DyT9gjt6BI8pwA/zfRvYNjGCM2JLFVcN4ZE zOcnUwqOLebBkY5ybxtZiO53OQjlghj3Rw== X-Google-Smtp-Source: ADFU+vs7ghi3pmrkjdUrz958wCE5MDbcdQpb3rnBgkTaaQ1O05hIjX5bAYbDh0tbt84rGRyUIjamfQ== X-Received: by 2002:a05:600c:2056:: with SMTP id p22mr9925271wmg.136.1583425890998; Thu, 05 Mar 2020 08:31:30 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 26/37] tests/tcg/aarch64: Add newline in pauth-1 printf Date: Thu, 5 Mar 2020 16:30:49 +0000 Message-Id: <20200305163100.22912-27-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::32b 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 Make the output just a bit prettier when running by hand. Cc: Alex Benn=C3=A9e Signed-off-by: Richard Henderson Message-id: 20200229012811.24129-13-richard.henderson@linaro.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- tests/tcg/aarch64/pauth-1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/tcg/aarch64/pauth-1.c b/tests/tcg/aarch64/pauth-1.c index ea0984ea823..d3878cbeb6e 100644 --- a/tests/tcg/aarch64/pauth-1.c +++ b/tests/tcg/aarch64/pauth-1.c @@ -29,7 +29,7 @@ int main() } =20 perc =3D (float) count / (float) (TESTS * 2); - printf("Ptr Check: %0.2f%%", perc * 100.0); + printf("Ptr Check: %0.2f%%\n", perc * 100.0); assert(perc > 0.95); return 0; } --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583427059; cv=none; d=zohomail.com; s=zohoarc; b=CoIv+1Rfi6ZUaVDOWGlL81IbQWnTizP8Ww95ax1f+SP5isjx3lgFeGnsUpP3Vmv+10+qjWZtAnK7GEGkZvBv01CSXjPXvpvgaoBHhtnSFN5UbbYUIGR8bu9Vb5xaFHo19OfVMsUXSiFFm5MXGmJkHC60T957sLoW9k75TqX0PHE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583427059; 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=6W8jzw/Q8S/83WHGlolRYzdtVt9ZYOyZtLguuMV9df0=; b=huyVk2jrMJEi14ouJTwCouTs+8QdgBN2gD+XK2qsr9Yc8jftJC9PEqNOXFQihBFvLSNR0gJnAYKgzNHkeOHokPg9zT5tj9pE4NIcVMswMhUhhLsb8tFNxOhZ8MZZXYTxhW1P/u9GLdC7xVdJyG7bsI0Ahrp8UWlJYUXM5613k6I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 15834270594797.545898681774702; Thu, 5 Mar 2020 08:50:59 -0800 (PST) Received: from localhost ([::1]:52876 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9ti5-0001HR-Tl for importer@patchew.org; Thu, 05 Mar 2020 11:50:57 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59406) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPL-0003kw-1O for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPJ-0002jt-Iv for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:34 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:38032) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPJ-0002j5-Cg for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:33 -0500 Received: by mail-wm1-x32e.google.com with SMTP id u9so6433675wml.3 for ; Thu, 05 Mar 2020 08:31:33 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:31 -0800 (PST) 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=6W8jzw/Q8S/83WHGlolRYzdtVt9ZYOyZtLguuMV9df0=; b=s+pNFh/bqnRhFSESXDAQaPTs4lsSebmTBi5mPy+rxTau1/R/kKdojmbCKPaePk4EeA lPX7XZhglWReqR41vsawiWZomT1ssXDaxGj3n/cKxs4Bm7z4Y1thwUMGGhK29Qpm51+d LvasBo5O5MV9PJyt/BpQTcSM7ocMuNYja4Ra9h7G5wH9SZljSyhxXyRcU5n4LhQp+b+1 P/5pDu4jO+CsEJYgxT7FJvV/osP9kaGs/Vtks/fj+v+x756188pOWWXNo1hGCwI+gogJ /cyNi1UUZx9aOmUfLy9oqeMx1Z5a3xS/WqqgxxstRL4k/UL+i9SQJIkzsadELl7FgiOc d3mQ== 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=6W8jzw/Q8S/83WHGlolRYzdtVt9ZYOyZtLguuMV9df0=; b=nQ7vos/BM/qlSuix0BeO2Jx89BznRTb3iA+ihwJ87oQ54NO6j11ZXHMzeTfj7k8HvQ Wvxr5vUgSpwPzbid9K83PaD/DK4yox+CEAuc1jbsIU293TB2vqxw2vL5Jpa1O7aYMARW OfEjiGF/4l3g4QVPvRBH0urwopSezONyNDsLfXjpu+G2CrA6gNnJGcy2vWH3EIxfc1+V 3GuujuoFXTaJHqimOrw4+RfYX/3M2aiyOgfdKM6XWPrDe1NupjglUgshsQioIsB0pqms I2LaowLtd29A9aFyG4+3oT45Tkh7zXV2eIFkxkO7LLoFNsCYlR54QfS/tTQdoFQ+Wq40 K16w== X-Gm-Message-State: ANhLgQ0JNUvywjpvEOZ5MTcUX+W3O1W8+LhGWw5WB92BsHcFIZoATr9I tmEiHblAgjAi22VysvNrLW7nwqdklC7TQg== X-Google-Smtp-Source: ADFU+vvY/Si3GfXHWBKJEipssf0WPzEazhTHczZOsV/G5TzhEobR3JILWVcQCpxfXMxz2l1YoA7CoQ== X-Received: by 2002:a1c:b743:: with SMTP id h64mr4973274wmf.88.1583425891883; Thu, 05 Mar 2020 08:31:31 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 27/37] hw/arm/cubieboard: use ARM Cortex-A8 as the default CPU in machine definition Date: Thu, 5 Mar 2020 16:30:50 +0000 Message-Id: <20200305163100.22912-28-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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: Niek Linnenbank The Cubieboard is a singleboard computer with an Allwinner A10 System-on-Ch= ip [1]. As documented in the Allwinner A10 User Manual V1.5 [2], the SoC has an ARM Cortex-A8 processor. Currently the Cubieboard machine definition specifies = the ARM Cortex-A9 in its description and as the default CPU. This patch corrects the Cubieboard machine definition to use the ARM Cortex= -A8. The only user-visible effect is that our textual description of the machine was wrong, because hw/arm/allwinner-a10.c always creates a Cortex-A8 CPU regardless of the default value in the MachineClass struct. [1] http://docs.cubieboard.org/products/start#cubieboard1 [2] https://linux-sunxi.org/File:Allwinner_A10_User_manual_V1.5.pdf Fixes: 8a863c8120994981a099 Signed-off-by: Niek Linnenbank Message-id: 20200227220149.6845-2-nieklinnenbank@gmail.com Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell [note in commit message that the bug didn't have much visible effect] Signed-off-by: Peter Maydell --- hw/arm/cubieboard.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 089f9a30c12..0195925c73d 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -68,8 +68,8 @@ static void cubieboard_init(MachineState *machine) =20 static void cubieboard_machine_init(MachineClass *mc) { - mc->desc =3D "cubietech cubieboard (Cortex-A9)"; - mc->default_cpu_type =3D ARM_CPU_TYPE_NAME("cortex-a9"); + mc->desc =3D "cubietech cubieboard (Cortex-A8)"; + mc->default_cpu_type =3D ARM_CPU_TYPE_NAME("cortex-a8"); mc->init =3D cubieboard_init; mc->block_default_type =3D IF_IDE; mc->units_per_default_bus =3D 1; --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583427159; cv=none; d=zohomail.com; s=zohoarc; b=b/OPrJWmzHz/scdrwEve9S2FAEyRtnYAJZLONxu1w8+igyURtxHH+e0N7Ol9tOnoYEJFalX+AlbK2yr107fUIojjwpTVyq6VaZSMqL562ysXmDPvqI3rw9ZOaNTxsTs/YIFlnC7THSJLKpcnAiPf0CiCbRKv0it1bpI39FK8hKE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583427159; 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=+/QONm9mCjYrTI58R499ADlTKWCo0qILa5h+DSFHsjY=; b=XNdR3nGKC4Vpi7d6/k3jMKTii3ktzADPLqDmuQWZgCfKgUjUyFd+FcacCKPHpDrD62L/fJLsaA3bT6ZkxUlW9LV04BJcbMDPbaqjadxZGGdgdLuLz2xxcVyGH64krrEvRzwbnpp9MjWcxzAiGZ/irnTnn30N/eRuIa4ojE19JQo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583427159660949.7919112921622; Thu, 5 Mar 2020 08:52:39 -0800 (PST) Received: from localhost ([::1]:52950 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tji-0004gu-GX for importer@patchew.org; Thu, 05 Mar 2020 11:52:38 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59434) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPL-0003mu-Rz for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPK-0002kY-BJ for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:35 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:53126) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPK-0002jx-5J for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:34 -0500 Received: by mail-wm1-x32e.google.com with SMTP id p9so7065739wmc.2 for ; Thu, 05 Mar 2020 08:31:34 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:32 -0800 (PST) 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=+/QONm9mCjYrTI58R499ADlTKWCo0qILa5h+DSFHsjY=; b=wZJAZ4vqdfbQhPQG6XzKi/ENSFRlc15CuB3vgz+eO999AlEUyvARG79aNATz3044Z8 /MJYe8vXUi8ZxyUdRvpuFbW5mcVwDRuMuw/4NDrpgwVPowCHRfzPWrnXEkDDAVJX558I w0YPFCLnHpAhlsow9uBXIZi4wlOcejCOBGv5i+ZdyxaRWkDNz5vvNys6CQFBSpowLaKQ 0fGUkt4buzYgZbNOxwgzmBYbemwh7uVHWzyfFuZpiKvsMuKe0twTYJGtsE5DcjemJdQW gGuHP7vrKX0PAwel8950WJYnd+zmBKWaHlwIXZ3GnSCU+P09ZyQkyn3R2nwybEOkXXWj ZNcg== 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=+/QONm9mCjYrTI58R499ADlTKWCo0qILa5h+DSFHsjY=; b=dSVn/ODNtA6fo1N7SiesUuDC8+d7ir20kIkz3VjQE43NqE2tqEsY259+pCh+X7b6pJ aLin5LnIaLEsGQ5yE3gUvngbN9C1Fqajsklrr8R93x9sySrm4leMXCddIi5jJASf8oe6 pepx9owCnP1Q6yrVe8Tf5BPTF2ZrXFI8Pcpt0mTyzpbhwvQWgThU4fM2NYVn9Ld0fC2q MRrWaz5wu9FxOoVFID0UZlGmHMkR6MI2ordiWNq6Tyo1myZJwxCwm439D0uTEfUwNBcV N2FHYpNgwfnGyuG2Scg7FTItPKG+ZLgq+ImLs2WWGt633IAHmDyXxqMjHrEbgOJ8iLyy fH1A== X-Gm-Message-State: ANhLgQ1oVBtphM6U2Rjoq/18zZr8fEuTfiA1F9lqJmvdiFokPuqgxILT Goj2sWzc+meNRvb0Eq0Ue8plyrQRgUJB5Q== X-Google-Smtp-Source: ADFU+vvU61SHWOjAXsG3W+q9wvScGyUTkOTbjEoxYZgZfxZ7Om+Aw+i6zH6xLIUzMaHQwuQNhVg1Yg== X-Received: by 2002:a1c:9a45:: with SMTP id c66mr6240139wme.115.1583425892951; Thu, 05 Mar 2020 08:31:32 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 28/37] hw/arm/cubieboard: restrict allowed CPU type to ARM Cortex-A8 Date: Thu, 5 Mar 2020 16:30:51 +0000 Message-Id: <20200305163100.22912-29-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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: Niek Linnenbank The Cubieboard has an ARM Cortex-A8. Instead of simply ignoring a bogus -cpu option provided by the user, give them an error message so they know their command line is wrong. Signed-off-by: Niek Linnenbank Message-id: 20200227220149.6845-3-nieklinnenbank@gmail.com Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell [PMM: tweaked commit message] Signed-off-by: Peter Maydell --- hw/arm/cubieboard.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 0195925c73d..010375f0a8d 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -30,9 +30,17 @@ static struct arm_boot_info cubieboard_binfo =3D { =20 static void cubieboard_init(MachineState *machine) { - AwA10State *a10 =3D AW_A10(object_new(TYPE_AW_A10)); + AwA10State *a10; Error *err =3D NULL; =20 + /* Only allow Cortex-A8 for this board */ + if (strcmp(machine->cpu_type, ARM_CPU_TYPE_NAME("cortex-a8")) !=3D 0) { + error_report("This board can only be used with cortex-a8 CPU"); + exit(1); + } + + a10 =3D AW_A10(object_new(TYPE_AW_A10)); + object_property_set_int(OBJECT(&a10->emac), 1, "phy-addr", &err); if (err !=3D NULL) { error_reportf_err(err, "Couldn't set phy address: "); --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426342; cv=none; d=zohomail.com; s=zohoarc; b=O6HUGDvBTd6UcyGJlMmgYm2Su1BWBqWOHLaM5u20zBP0sQTDA+/z5Xi2m06xrQadLoTz24vCyMixn6y5Vhj9q8aEvW5O5Y3YSrCYLvEtmc9HLsCw5SRWSOqEuwIffCCFeYDLIBewvKU5stsW/5bk5bxbqovUuvuS/8FpKWQTXpk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426342; 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=FMoHaWzahHswrnGpkdh208+DyOcSTnJAR/zWbqH+ju4=; b=BzSO1AnUqMs0ZdBJqQGZy1kRPzgonE6RgSKMjCe5DETmSQIWEgJKJLxnhVLa3aSoXOW9KOCIkxIO6px6pJUOdGtrsI2CCdSSnoYkkC2J+3IE2ECTbefJU4X3nSbgzWkg9vW7CMqY3TyoSTGCeW4VhxZ9dIS0KlGD6sfc7dnSerc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426342589914.1462863430111; Thu, 5 Mar 2020 08:39:02 -0800 (PST) Received: from localhost ([::1]:52582 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tWX-0000Sk-8s for importer@patchew.org; Thu, 05 Mar 2020 11:39:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59464) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPN-0003pm-3W for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPL-0002mq-Jt for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:37 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:38092) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPL-0002lL-Br for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:35 -0500 Received: by mail-wr1-x433.google.com with SMTP id t11so7801026wrw.5 for ; Thu, 05 Mar 2020 08:31:35 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:33 -0800 (PST) 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=FMoHaWzahHswrnGpkdh208+DyOcSTnJAR/zWbqH+ju4=; b=CtvgfVOF29kYiBq0PFvd4/I0ohFnWZ8ilwn9b7c3Y03eulrxR+c9Huz9T9QTk3vnaZ wUctaNSU2ls7VeD73hnvqvRr7fL/nI0iAkSMoG6Ge5xYUYTLSWDS1Ej49av6eHTzpTm7 UWsI3XdCtanqAJasWeVECRjvIEdYWTX6uw2qoONjBP2WadSiaXBhOuidcUCfPBtyW51x y8q5+8016q6Qp5PqSuPeKkUYsX3TeL29HkVhoigv4Dx2KZ+oV55E4Upa9IGAzwUMy+Iq af506oyDkymmoQRAzqMPv37H0I4J6zFsj7CKhWesIzODHzg609qA11MUTb6QAa9EmUEH gJbA== 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=FMoHaWzahHswrnGpkdh208+DyOcSTnJAR/zWbqH+ju4=; b=rAWval41F8IhMEKTj45AOgkOwa9GiVu4Zrt6xtwlfvZ3pwNU7Vrbhl9z2Ap+AObANF SjMINhVVhtphABoYGhJfZ2tsCDWmSD0QxZ+FviC4TK+1suDBe9T4rWwG+BMEBfgO5hV4 K6R8sBDceH8EeDyEONUrAfjZMtAnSbANP0pueVzuyMZAc32ppLNnSfozLZrwKw56bQOe 3w/15o9NCiugVeuwqZfryJuuBwFxcD+vls4vnzNbuOMXr4k6ztqxY6Ex/awgK1AZMf/d uQfex8UPJ01tsKMKj4sGThbSiVDL8N5Ovn3DymLx7aUoJtZkfVmVhNm922VET4xzvCy2 sDQQ== X-Gm-Message-State: ANhLgQ12pmtfnIOltSpaUVMrkgWEEqT6O/3LzXPb84uTHvxzzS6qTbW4 wAEfU4Bg5bI3ayhJIpmgEuSsDbejooDu7Q== X-Google-Smtp-Source: ADFU+vvCXhofhRjBfj42sx19syxjRM8lQaigNP5RgkB0kfzqBigAf4EKYCMdvv80sBb0zUNDN9hP3w== X-Received: by 2002:a5d:4dc7:: with SMTP id f7mr8079744wru.72.1583425893880; Thu, 05 Mar 2020 08:31:33 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 29/37] hw/arm/cubieboard: restrict allowed RAM size to 512MiB and 1GiB Date: Thu, 5 Mar 2020 16:30:52 +0000 Message-Id: <20200305163100.22912-30-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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: Niek Linnenbank The Cubieboard contains either 512MiB or 1GiB of onboard RAM [1]. Prevent changing RAM to a different size which could break user programs. [1] http://linux-sunxi.org/Cubieboard Signed-off-by: Niek Linnenbank Message-id: 20200227220149.6845-4-nieklinnenbank@gmail.com Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/arm/cubieboard.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 010375f0a8d..6c55d9056f5 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -33,6 +33,13 @@ static void cubieboard_init(MachineState *machine) AwA10State *a10; Error *err =3D NULL; =20 + /* This board has fixed size RAM (512MiB or 1GiB) */ + if (machine->ram_size !=3D 512 * MiB && + machine->ram_size !=3D 1 * GiB) { + error_report("This machine can only be used with 512MiB or 1GiB RA= M"); + exit(1); + } + /* Only allow Cortex-A8 for this board */ if (strcmp(machine->cpu_type, ARM_CPU_TYPE_NAME("cortex-a8")) !=3D 0) { error_report("This board can only be used with cortex-a8 CPU"); @@ -78,6 +85,7 @@ static void cubieboard_machine_init(MachineClass *mc) { mc->desc =3D "cubietech cubieboard (Cortex-A8)"; mc->default_cpu_type =3D ARM_CPU_TYPE_NAME("cortex-a8"); + mc->default_ram_size =3D 1 * GiB; mc->init =3D cubieboard_init; mc->block_default_type =3D IF_IDE; mc->units_per_default_bus =3D 1; --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583427291; cv=none; d=zohomail.com; s=zohoarc; b=mohGpkwMy2jnMZPA0SQJpI0WdKN3ZSevbM+LOGMAMzEnDeRNLMn86QgdbQz7W0QEebQdcoJkdCDXdLvV97jQJJUvfIv5zgEmE6PduXM7WR5audzfbwz4xeYWwPYWKGnAsCPdClokfpMtlC+eaxmwhvIgy60fz3Oh1S9aN5QeFPc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583427291; 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=zeqkTd38/1Km3JJ/1quXA06O38++6T6yTayRGKMd5+E=; b=TlepxffTKkErineEmzUeeofUdh1dhJjFTli6BwuKnoZ6e/XT7BZFSchDlM2TlEPQujFsSeoklCLPDQ7iR7qpUomyws3B89AOyaqtOn7hOa3jjlKP0w8BaHnmJGRNJ/TLSjPGvyyABK0nl/bRWs8on/3QaxalSvOatzs35YyiNYs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583427291510976.5206268360852; Thu, 5 Mar 2020 08:54:51 -0800 (PST) Received: from localhost ([::1]:53080 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tlq-0000ig-Aq for importer@patchew.org; Thu, 05 Mar 2020 11:54:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59476) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPO-0003qn-2T for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPM-0002od-Nt for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:37 -0500 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:32903) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPM-0002nR-HO for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:36 -0500 Received: by mail-wr1-x430.google.com with SMTP id x7so7822775wrr.0 for ; Thu, 05 Mar 2020 08:31:36 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:34 -0800 (PST) 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=zeqkTd38/1Km3JJ/1quXA06O38++6T6yTayRGKMd5+E=; b=Uym/AUtm4iNRxyFZz+UtzokBaZE5LsiL2Sk7JE680gyEEuD1ID9HHV94mo87oBju2c u4OPBFKC1MJFMCF79WDdxBWWNWMX+wIqh5YiPCLOX5GtSkAx513vll3pqfiadjycwpCh imEqtO3k5KF4Ek7eJDOB69wVMZ/Mb47RdfYBmN3CSj/AObX+24kwQI/dOsmMAausBJiA PfwvF3d7tiB0BXXdVaUxTD2yw7ERZvytYZpbdJjoFYEVjTteYdpGpMe35pXW+TRt93oo h/FedA5kgmM7bGK7lVFUK0dj3nToTPTkDaMwK6iL0SAal/HmY2koISfbYShcMJiF7Y76 HRtQ== 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=zeqkTd38/1Km3JJ/1quXA06O38++6T6yTayRGKMd5+E=; b=KA3jlWTQqr1YbWAjMXyzadNhvQ7tBmTueeZ31TV7FzPM8vWfctXMD6vl8vJjVwkyUi 8BVTsO+QXSWgc/d+rfMVZLQaLN8xR+5zlbMZ/TG5cDI4VotiXXv7BnUKq6ekQzwBbUq2 BwOsteJ8RyreM26Qfds2pVtbp7wMU/hhlFOMULXN4aNbgj6h/Hq7A8uwtTnKJNwQfGve V+ONMzS/CEsJqTzQLOFC6Q/S3SpZAqkeRgnR6TQK8CEWXPPHLpJjUeVfQ4KpDm4TBuy3 5Gw0HpK1DfnIrYbvN4S3xqg4V6i1+MekVzlJYapG+IBJ3hXGde3hK05kc2VlC923dU7S QRaw== X-Gm-Message-State: ANhLgQ1ot0VXgg39PdT5Lc5iIyntEygL49aVOaMhBC+Ri2hJ91tyAr9o gNvWgoL6i3KZB3qCXZjxV4MyOOofyS9NMA== X-Google-Smtp-Source: ADFU+vvgJKycf8sC5QKVcUSLFRoCppIv7/mBDLLo97PpBmxXOYWLB4zWZAYOfvWygGplBmHcF+FZtw== X-Received: by 2002:adf:9071:: with SMTP id h104mr11176459wrh.359.1583425895083; Thu, 05 Mar 2020 08:31:35 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 30/37] hw/arm/cubieboard: report error when using unsupported -bios argument Date: Thu, 5 Mar 2020 16:30:53 +0000 Message-Id: <20200305163100.22912-31-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::430 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: Niek Linnenbank The Cubieboard machine does not support the -bios argument. Report an error when -bios is used and exit immediately. Signed-off-by: Niek Linnenbank Message-id: 20200227220149.6845-5-nieklinnenbank@gmail.com Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/arm/cubieboard.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 6c55d9056f5..871b1beef4c 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -19,6 +19,7 @@ #include "exec/address-spaces.h" #include "qapi/error.h" #include "cpu.h" +#include "sysemu/sysemu.h" #include "hw/sysbus.h" #include "hw/boards.h" #include "hw/arm/allwinner-a10.h" @@ -33,6 +34,12 @@ static void cubieboard_init(MachineState *machine) AwA10State *a10; Error *err =3D NULL; =20 + /* BIOS is not supported by this board */ + if (bios_name) { + error_report("BIOS not supported for this machine"); + exit(1); + } + /* This board has fixed size RAM (512MiB or 1GiB) */ if (machine->ram_size !=3D 512 * MiB && machine->ram_size !=3D 1 * GiB) { --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426634; cv=none; d=zohomail.com; s=zohoarc; b=FhF5+KNtSd9pZPuFfGCUjAd86EDJHhZM/tR1tbCFVQDgBAkkuVGAjNduAHucj3KeQbnOVTk9aBUY6WAjSswSae2ZBukV49Q9H7ioQgtU8hDzhIqgByP7nd8olrdZLc3VPuH+yGXkIhC1P+s9BUwPaKoYJrGWPltj/aKjCKkQ3n8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426634; 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=GcAJxWDNSGTspp+5s6989zkqDBTuK9utm7+Chogt0Os=; b=XkNlm/RUv+8NR/yb39lZHmm5/NeSk1n2UbBaW0IbZPKSLlr7JOcjNcdAtabiU1DhBRlU56R+W0sjFzE2L42t4mKC50JD3jItvA0f6TmQlmVAXgPp9vWYELvik93UUfdztpfHKe7sNngjGQQYy1K+mZg9X9YXxStVg/j6okhS9Ss= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426634222625.1674894384122; Thu, 5 Mar 2020 08:43:54 -0800 (PST) Received: from localhost ([::1]:52678 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tb7-0006wv-5Y for importer@patchew.org; Thu, 05 Mar 2020 11:43:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59492) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPO-0003rT-Vq for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPN-0002pz-Pl for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:38 -0500 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:43678) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPN-0002ow-Ik for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:37 -0500 Received: by mail-wr1-x441.google.com with SMTP id v9so1193942wrf.10 for ; Thu, 05 Mar 2020 08:31:37 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:35 -0800 (PST) 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=GcAJxWDNSGTspp+5s6989zkqDBTuK9utm7+Chogt0Os=; b=QDJZ9whYfkbTWWQSMeEN+S5ankQr5zlzSJ8Ji8J/3ELlrw//fnugUdnMK82qlpQDIN HGBSAHFSkDoEsffYdFf3GdPajPP0AYltLTiWT2anZQqGGegmSl6/pAdwn5YgEU4tjvFQ nnpZeDl0FWpj5SmZ1cHHppqmRcSByMbNsj31uGD+i4kPd3v6x90r28OGFBEysHe2cUAM 9vxqLBglA3baJYH4O7ZL/6LfxTUubcdkmTi2g2TnIsv+5xtjp+6AQKignF5jsOFP3AsD wm7Q35gnp+U1BaM5hXDFnB4UcQK12EE6O5MaSGokdRM1ntZDB38Ir/VcHbhJ30fwvsFh zSVw== 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=GcAJxWDNSGTspp+5s6989zkqDBTuK9utm7+Chogt0Os=; b=ICSHTjGnJa7eNY6EADhtX9ZqnHz/Q1VvYI+pJyvbJTAB4514MhNKgJ1S0qFXVjGEHE hw14M+VcAXezsuKFu43Dm9Wtc8FBktpOmDPR8TNW35ohvDf91ZElB2Kk9sy11Zr6Xcyy Pdu8rAAtQsOKWmZ5iIibB3dHVftd663UneNMfFKek3SFbWaku+sKqQmJZLyAWbjW9aeZ bmrjti5qGMboZzmG+//rEFo9kftnCaByRCJbiHOFWGxzroqHlAHVRP4/cRuakUUQ2aMv zvBk3TksptghWynGbYtqWgA22FNoxfRZ149loURR4BjgOiusuMVFCq00o0cXxstsNqsn hvcA== X-Gm-Message-State: ANhLgQ0OmKPjDt/4SxYN3JqHrcUYPyJgpdUsajEm1/uRKlu8FjGvK1lS Y93kiyiRlOvQHWn8W9gUA21oWNNGYTeN+g== X-Google-Smtp-Source: ADFU+vuYoRrGcI89o+asApd+wMkPJntQ9ZIn/SU2v9Ah9dcEPCelA4TbIMf4ohFJaJ3KPKnFzjaB+g== X-Received: by 2002:adf:ee02:: with SMTP id y2mr5083477wrn.23.1583425896249; Thu, 05 Mar 2020 08:31:36 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 31/37] target/arm: Replicate TBI/TBID bits for single range regimes Date: Thu, 5 Mar 2020 16:30:54 +0000 Message-Id: <20200305163100.22912-32-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) From: Richard Henderson Replicate the single TBI bit from TCR_EL2 and TCR_EL3 so that we can unconditionally use pointer bit 55 to index into our composite TBI1:TBI0 field. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20200302175829.2183-2-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 6abf52db660..f7ba34bbf6d 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -10458,7 +10458,8 @@ static int aa64_va_parameter_tbi(uint64_t tcr, ARMM= MUIdx mmu_idx) } else if (mmu_idx =3D=3D ARMMMUIdx_Stage2) { return 0; /* VTCR_EL2 */ } else { - return extract32(tcr, 20, 1); + /* Replicate the single TBI bit so we always have 2 bits. */ + return extract32(tcr, 20, 1) * 3; } } =20 @@ -10469,7 +10470,8 @@ static int aa64_va_parameter_tbid(uint64_t tcr, ARM= MMUIdx mmu_idx) } else if (mmu_idx =3D=3D ARMMMUIdx_Stage2) { return 0; /* VTCR_EL2 */ } else { - return extract32(tcr, 29, 1); + /* Replicate the single TBID bit so we always have 2 bits. */ + return extract32(tcr, 29, 1) * 3; } } =20 --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426536; cv=none; d=zohomail.com; s=zohoarc; b=CWBJgH09qLpkTazPfhBKO+uR+Aoxz12BV85c2dTNIQeds0phgnXFGLQwpcGbJxA1frQ7IbZmdTLPDX2eNxcdD5MwqcPjoV2meR7KTz+WTsAge7T9eT2Q15kYl3QjeHsefSS0CbvxmpsCV9X8FdOficU0bZi2uUKuCp/QK7kWldM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426536; 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=YYHIjy33GB3VuD4wC7Jf/ToNqj5l8tdIAcVXeQg/vp4=; b=OHwOicH36KJ2dbNQyONulu0oYAcJKo0cCWSbFbnfwe4etRU3iMRW8lcliDzUlbFyO432JImvDiw4nFEfIQ5tXMG+tEXdKV5ft6XLPUyHzS/KWVx2iBf7gBuFlbnKIOJtsklkw4SHQ6tLlrcauCXyUlsu8D8HvBJaMTiWFNrUKj8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426536824734.4625937341359; Thu, 5 Mar 2020 08:42:16 -0800 (PST) Received: from localhost ([::1]:52658 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tZf-0004uR-Pr for importer@patchew.org; Thu, 05 Mar 2020 11:42:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59533) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPQ-0003sg-1C for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPO-0002qp-Qd for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:39 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:55819) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPO-0002qH-KB for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:38 -0500 Received: by mail-wm1-x333.google.com with SMTP id 6so7072340wmi.5 for ; Thu, 05 Mar 2020 08:31:38 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:36 -0800 (PST) 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=YYHIjy33GB3VuD4wC7Jf/ToNqj5l8tdIAcVXeQg/vp4=; b=EQIwyenBpY9WuM17efhrXAvdjsYUrASNdDg4ZvaHSauPIzmg20IpoGnoSPf5op8PFG z2J5nDEXOOo2lzxdRjcAcafIyBzCDOHRTNz3BLTmvlnPIC2j7XOLETMn2q+NL7C8Pdvs OWsmFt0y2CC7fMAQJFlhPYRdpwRcbBC8jn4dPSmd3sdU4DnIzKsV/U7oKPapF2iqaw4g KovCTAUgSM2NgzBrkgtAIXlATR+SOGn9Cgmm9hrYLyFYcmrCYljAeNVITEykvHrDegEb MDSNXsXmKEUl8+1E0hTE4WHtbN8qQ7w5rRdE6F8wKrS7uS4NCuSoNcBiezSlxhsAdD9a aj0g== 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=YYHIjy33GB3VuD4wC7Jf/ToNqj5l8tdIAcVXeQg/vp4=; b=Xi08d7tZtOlYa5ZdgNN3RLD5j4ytCPtD0wUP80uJr9frztA04CVJWu/3YjWYOjiaKl +3LzEGgnJ7AzkjpgUCMY2GZOtjfBJv/VnRYFJX3nQtKR+p038GhfRqy2Weo+sByrCiP3 1DNKAvxOxT09ZUD4wlf4mjZgtZoPbYNW9v5H9V2xnJUQRN3aNJ5sba5qUjQ7r7pUZMQI OwkL+/Lia8qTz9mqaBqgxUrNozNprcuTgr9D82+lixMcfi/p27QzzeCkOSg3HoIulhwV oN+by4TcFPopQVLlkgsyKQsbxMo9jhSxASxZimKV5WtkbaTLo8FJ0iOO0SHyCiqnoDkj Ch2w== X-Gm-Message-State: ANhLgQ0M3linEk70o0374sS3ykxF+66dUUCane383KJCN5yTLhAryeus mpbu6ZUvcGPFKySUmGGNqkOcLYl/OcQjMA== X-Google-Smtp-Source: ADFU+vtZWFhOBwxv/tcea7r1GfUyba79bHPU9j5ldaKnzFaOSFMjh/R7YnSya/kn554R3cJSV6lQAQ== X-Received: by 2002:a7b:c4cb:: with SMTP id g11mr10928624wmk.83.1583425897244; Thu, 05 Mar 2020 08:31:37 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 32/37] target/arm: Optimize cpu_mmu_index Date: Thu, 5 Mar 2020 16:30:55 +0000 Message-Id: <20200305163100.22912-33-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) Content-Type: text/plain; charset="utf-8" From: Richard Henderson We now cache the core mmu_idx in env->hflags. Rather than recompute from scratch, extract the field. All of the uses of cpu_mmu_index within target/arm are within helpers, and env->hflags is always stable within a translation block from whence helpers are called. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20200302175829.2183-3-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/cpu.h | 23 +++++++++++++---------- target/arm/helper.c | 5 ----- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 0ae07a72e43..4ffd991b6fc 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -2943,16 +2943,6 @@ typedef enum ARMMMUIdxBit { =20 #define MMU_USER_IDX 0 =20 -/** - * cpu_mmu_index: - * @env: The cpu environment - * @ifetch: True for code access, false for data access. - * - * Return the core mmu index for the current translation regime. - * This function is used by generic TCG code paths. - */ -int cpu_mmu_index(CPUARMState *env, bool ifetch); - /* Indexes used when registering address spaces with cpu_address_space_ini= t */ typedef enum ARMASIdx { ARMASIdx_NS =3D 0, @@ -3232,6 +3222,19 @@ FIELD(TBFLAG_A64, BTYPE, 10, 2) /* Not cache= d. */ FIELD(TBFLAG_A64, TBID, 12, 2) FIELD(TBFLAG_A64, UNPRIV, 14, 1) =20 +/** + * cpu_mmu_index: + * @env: The cpu environment + * @ifetch: True for code access, false for data access. + * + * Return the core mmu index for the current translation regime. + * This function is used by generic TCG code paths. + */ +static inline int cpu_mmu_index(CPUARMState *env, bool ifetch) +{ + return FIELD_EX32(env->hflags, TBFLAG_ANY, MMUIDX); +} + static inline bool bswap_code(bool sctlr_b) { #ifdef CONFIG_USER_ONLY diff --git a/target/arm/helper.c b/target/arm/helper.c index f7ba34bbf6d..f91e5d5345f 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -12274,11 +12274,6 @@ ARMMMUIdx arm_mmu_idx(CPUARMState *env) return arm_mmu_idx_el(env, arm_current_el(env)); } =20 -int cpu_mmu_index(CPUARMState *env, bool ifetch) -{ - return arm_to_core_mmu_idx(arm_mmu_idx(env)); -} - #ifndef CONFIG_USER_ONLY ARMMMUIdx arm_stage1_mmu_idx(CPUARMState *env) { --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583427410; cv=none; d=zohomail.com; s=zohoarc; b=bVCv6WawrAls2tT3oWdKy/SaN2utr+V+9BqNOsAQRJQRA1Dt2b4EAFq4fjAi6jxh9SsX44ZNlbhbf/N3ZvKFHvbLizrIX/EWu9QljY7W+STB0OnhbI0oAgWM7rgGRM48L3uSXFHM2n9Xcqky+UpOre+KzAlBLTOszPopIpxH/iM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583427410; 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=U58jT/n1eZn27Pw9G4/tDQIY/9rC1vRzTCSEllyVD4I=; b=FGyvZJ8gwa3OKUpsKxg6LResHmlI6gU5otVBIKiI2XvxTzeSvtiKDiaEZYAUj2YkM3IAYhs9oSY5cqc8O2wJEBZsGorCjSpPm/fY90+Xgf46RsZAfISmpbncYSqdb7amethZhr46wkZA+cYIKGjTCe4MeuAB12+zcfBAN4M/gdE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 15834274104201004.0223207961201; Thu, 5 Mar 2020 08:56:50 -0800 (PST) Received: from localhost ([::1]:53132 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tnk-0004J0-BF for importer@patchew.org; Thu, 05 Mar 2020 11:56:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59554) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPQ-0003tu-VF for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPP-0002s0-SP for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:40 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:53125) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPP-0002qz-L8 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:39 -0500 Received: by mail-wm1-x32c.google.com with SMTP id p9so7066096wmc.2 for ; Thu, 05 Mar 2020 08:31:39 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:37 -0800 (PST) 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=U58jT/n1eZn27Pw9G4/tDQIY/9rC1vRzTCSEllyVD4I=; b=FKyqsgySfbvki/zlVE5S98pY7I86551Og/0V174lCWlffnxmkQgzAzvhBmi72+SDg8 QuwYvvF3dsZ64XcMK5awnawtNTr4wB9BBuQN8UnuQBsLpLuFH5BeEZ23JqxkQwvHfdr+ gsA3tVf1A5QzmXv/WdDoLTILZsa4vCxjpchr1r13uiV9uUrY745X8iOWgjJ0yXrHCUkj KaIVYasiXgLzgkojNktLK7BR/UW6Q9uXnNXGBghMa/ZCEVZJmT4OVjmdXUMrZ/TQLT33 ZXOCLIzLflQhYiuBzCIKbioNr/I7GH9ylO1RxfOlH0sTTOrLqfp60F7HXAKxZOhzOsFN CcIw== 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=U58jT/n1eZn27Pw9G4/tDQIY/9rC1vRzTCSEllyVD4I=; b=Cq5kNonBonsUnmUYlDIw/5X8wic335yMT5uFcsHZMseajCLGtkS6X0gRocqhHT3TXE pqpNjIJynCrD6WSLg7GekwhB+/6hlkkYjp3GJWVIM4B1OVA7eu54qncGy0KUsDRCRwS1 SMX0TOcPbSJSg+TTfud+u5Q49bukNrzT7fWJbl2O/MysVIiSWZck3M2Mpq01hNiOE6/3 AJ3qSZXM1bPHAeEl1vnm4LztOpHgTExIhO6kGdZhEV+1aI2yRy9t72J+uyQgLW81cewU 4hRMEdtRDxyUP18nd4qMhQmhDmMjet1q7VvryFGYIYud8lBkEDm+CF5VMuqXaULJdRtk WoNw== X-Gm-Message-State: ANhLgQ02BlP44kKSD85p7vku62BEFAlSv70KcIZCFQTM9TkMHp0C7yGW 4Qx1pVcluDNFlNKlI0TQXQy07ah1pHSshA== X-Google-Smtp-Source: ADFU+vtgN33qfdLE9eRkGiLNpcxhHsWMuQA0+V4o8VjdYO3buzNuSql0IJ2hN8qf5QmZZ5TN4cGBlw== X-Received: by 2002:a1c:4b0d:: with SMTP id y13mr10711393wma.4.1583425898368; Thu, 05 Mar 2020 08:31:38 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 33/37] target/arm: Introduce core_to_aa64_mmu_idx Date: Thu, 5 Mar 2020 16:30:56 +0000 Message-Id: <20200305163100.22912-34-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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: Richard Henderson If by context we know that we're in AArch64 mode, we need not test for M-profile when reconstructing the full ARMMMUIdx. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell Message-id: 20200302175829.2183-4-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/internals.h | 6 ++++++ target/arm/translate-a64.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index 9f96a2359f3..e633aff36ef 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -783,6 +783,12 @@ static inline ARMMMUIdx core_to_arm_mmu_idx(CPUARMStat= e *env, int mmu_idx) } } =20 +static inline ARMMMUIdx core_to_aa64_mmu_idx(int mmu_idx) +{ + /* AArch64 is always a-profile. */ + return mmu_idx | ARM_MMU_IDX_A; +} + int arm_mmu_idx_to_el(ARMMMUIdx mmu_idx); =20 /* diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 579180af0a9..c910a49b4e0 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -14300,7 +14300,7 @@ static void aarch64_tr_init_disas_context(DisasCont= extBase *dcbase, dc->condexec_mask =3D 0; dc->condexec_cond =3D 0; core_mmu_idx =3D FIELD_EX32(tb_flags, TBFLAG_ANY, MMUIDX); - dc->mmu_idx =3D core_to_arm_mmu_idx(env, core_mmu_idx); + dc->mmu_idx =3D core_to_aa64_mmu_idx(core_mmu_idx); dc->tbii =3D FIELD_EX32(tb_flags, TBFLAG_A64, TBII); dc->tbid =3D FIELD_EX32(tb_flags, TBFLAG_A64, TBID); dc->current_el =3D arm_mmu_idx_to_el(dc->mmu_idx); --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426848; cv=none; d=zohomail.com; s=zohoarc; b=Fces2Mj4BjhDtE/JITMdwlKaBF80QyjoGyv+Bzfg6CblTE2H8XMZ+zDqL9txrJ3Gj5TcQEet/CWXU1nIObVamRS0M9MmeAoqmSnH1ezHZSdw4UKSOEfJ22a3qdTi2IrX0p3JjPzv/p9+HoWat3CEZZdkYOmY49RPX2ksulVjjgM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426848; 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=pEDdmn2Qq48osMBcaNiYHbcE7nHfPyLhG+0XvX+TSYQ=; b=lvaW2smFtYubPG0LEHv46yz9Gdb8z/LnJeUUIIFjgiMUsIbUknFhyTl7k2kxvu70A8OwUs0BL47Ekar0mgG9Qe7i9AAC6p8Na+QEatvdOgFgt65cGX4anPX9w0TRB+wDkOTxqpQ008BvZWA47qUbk3tIQ3IrcWBB2u0KOgDu/fU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426848846361.77115901430625; Thu, 5 Mar 2020 08:47:28 -0800 (PST) Received: from localhost ([::1]:52788 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9teh-0004B2-Jm for importer@patchew.org; Thu, 05 Mar 2020 11:47:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59566) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPS-0003vY-49 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPQ-0002t4-TV for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:42 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:54866) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPQ-0002sW-Lg for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:40 -0500 Received: by mail-wm1-x32e.google.com with SMTP id i9so7050169wml.4 for ; Thu, 05 Mar 2020 08:31:40 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:38 -0800 (PST) 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=pEDdmn2Qq48osMBcaNiYHbcE7nHfPyLhG+0XvX+TSYQ=; b=NTSvjoyN+5ZnlpaZvXZRHXXcMArsjBoDse2c9zEL7eNCM0OYeQL+lTaNK3M4l2LYSi WYN8BAP6SB0t43FaCBX/9s5qtDdRC535ZtGgGEZhxCMEwS/OdZomPcBLofeVZRQykHPr FliEgH30MsEUK9QpGflAbD/4A4B4bYYrsr3nlOS5uZR73G5ih/d23nGQ98HEJtuCnxer u0DUkyG4yR1/eYDR1jYs2fp7sRt+RSQdrr/SuU8GY5U5ZKnzE+5u5pBhifcd0lBQjVJ2 Mxkb0BmHz6Wd/TddzV+dcFXHpZSoVrft8q6C+qBAJ1dTqD6TANx0nLo1/YfJwV3FK5yg 8XEA== 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=pEDdmn2Qq48osMBcaNiYHbcE7nHfPyLhG+0XvX+TSYQ=; b=pnbHx0Es/zA+3C7lo7Hn1vlSXo3rlIlo1OrWxFWJ7BtIGAXwhnMo9fwxJaKaZtwDHu JKWPG4BFxG8qnUgm71iKalpAmi1a/uppo/El7unjMtIsB7VGxY/x9KM5IpOCCKOh0AxK 1jEfHdi5z//1sx8xgLbd+Z0EPf3wR2KWJZFm90NkDaEmDNteFNwYQNTgy58m49DCRBeX BsSUjIjttQiCz5qvFOnnWvXJwer101ZCJA5Ok5jmqZdG4ySu+DOxqTYqfF2KGpbt1FbV XoJp3IHYa1dLdAjFH2gOJ4f9RrOuuv3LBX5RXugw/j5Lygn01QsWBxRRYOnABEUe/L2D CpXQ== X-Gm-Message-State: ANhLgQ1p71KcMaziZLfiS5+ecAojy3Xxh502uyuR9svY8eS9u+F+j7q+ 0JqzUolzJpfL5quvtNuDGUiNGJkn0vSdCQ== X-Google-Smtp-Source: ADFU+vuPgYRJYdkfz+6KBPtjt8Ke7+1XtVxlSZSi6wqgyR9c+itHkBg/3UvhFVuBQ402nkopLPs1nA== X-Received: by 2002:a1c:804a:: with SMTP id b71mr10012755wmd.132.1583425899358; Thu, 05 Mar 2020 08:31:39 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 34/37] target/arm: Apply TBI to ESR_ELx in helper_exception_return Date: Thu, 5 Mar 2020 16:30:57 +0000 Message-Id: <20200305163100.22912-35-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) Content-Type: text/plain; charset="utf-8" From: Richard Henderson We missed this case within AArch64.ExceptionReturn. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20200302175829.2183-5-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper-a64.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/target/arm/helper-a64.c b/target/arm/helper-a64.c index 509ae930698..123ce50e7a8 100644 --- a/target/arm/helper-a64.c +++ b/target/arm/helper-a64.c @@ -1031,6 +1031,8 @@ void HELPER(exception_return)(CPUARMState *env, uint6= 4_t new_pc) "AArch32 EL%d PC 0x%" PRIx32 "\n", cur_el, new_el, env->regs[15]); } else { + int tbii; + env->aarch64 =3D 1; spsr &=3D aarch64_pstate_valid_mask(&env_archcpu(env)->isar); pstate_write(env, spsr); @@ -1038,8 +1040,27 @@ void HELPER(exception_return)(CPUARMState *env, uint= 64_t new_pc) env->pstate &=3D ~PSTATE_SS; } aarch64_restore_sp(env, new_el); - env->pc =3D new_pc; helper_rebuild_hflags_a64(env, new_el); + + /* + * Apply TBI to the exception return address. We had to delay this + * until after we selected the new EL, so that we could select the + * correct TBI+TBID bits. This is made easier by waiting until af= ter + * the hflags rebuild, since we can pull the composite TBII field + * from there. + */ + tbii =3D FIELD_EX32(env->hflags, TBFLAG_A64, TBII); + if ((tbii >> extract64(new_pc, 55, 1)) & 1) { + /* TBI is enabled. */ + int core_mmu_idx =3D cpu_mmu_index(env, false); + if (regime_has_2_ranges(core_to_aa64_mmu_idx(core_mmu_idx))) { + new_pc =3D sextract64(new_pc, 0, 56); + } else { + new_pc =3D extract64(new_pc, 0, 56); + } + } + env->pc =3D new_pc; + 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); --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426803; cv=none; d=zohomail.com; s=zohoarc; b=XAH6y7DrETru6piB1ELVj9CqYYvlpGbtOfc+r5xkIXggQZn82/TUpwZVMSA7H71kcvRghfuOmxTUnqUbDkp17vc1pM3uGfjsRID5o8jgEaPCFslwVzNcROv9LyDz4icqIjFCuGawxCj6Wd1dwd0GfGenT5VVKh5nya2uqFE60C8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426803; 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=ADlCSkfPf9AlXzjjkTVaVe6/GpzhDc41aeGM7hXo6C0=; b=edo4mr6vo99M3C2iqEAh2wlCX3sGTuv3Jyneg6VWEkM/QQt187VxukBTvODaK/BmSfzlE6OdonyoX8mGCWVeOX21UopA2xI9BC8kHFIJqfHt2TkOj+iCSycAJA489frBYdNzHgg0MevU+va/VjciiPjEu3+d6hFQ0RYdlEifpb8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426802908463.30542171654986; Thu, 5 Mar 2020 08:46:42 -0800 (PST) Received: from localhost ([::1]:52772 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tdx-0002pv-IT for importer@patchew.org; Thu, 05 Mar 2020 11:46:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59622) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPW-00041T-6G for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPU-0002xZ-6v for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:46 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]:34736) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPT-0002wD-V5 for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:44 -0500 Received: by mail-wm1-x330.google.com with SMTP id x3so2309234wmj.1 for ; Thu, 05 Mar 2020 08:31:43 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:39 -0800 (PST) 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=ADlCSkfPf9AlXzjjkTVaVe6/GpzhDc41aeGM7hXo6C0=; b=ODxwCdFtrYLH/SruFTRZDerujMVCN882rrXBSvxZNvWsVTJbWzjTIVKgOrXS+rsK+C TvRaHjJfisZYomjgJViqrKe68ET1nrGPG/2tDGLt7KWGlc7cjSer7+Rnn+GZX2DZpTJ6 yYdtEQiFC6vpsCSlIrZjQR2C2J5rc23rWeZbcQ2CVmBmXmwMCA1UXpqyZ8T+CkSj63yj Gv9laC5RbGwsm1HciDICqEJH277z61y6l1Akk/uFpANE4mWsifgZWbHi3i3gF6FrVvqV NaVWTl1qYLuqf64jci4y6cx9Xe7AmEQfscIfLGjzKTnzdB0baphVNqxbyQ+Nr9AxGUc9 d+UA== 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=ADlCSkfPf9AlXzjjkTVaVe6/GpzhDc41aeGM7hXo6C0=; b=TBrl//rGl+7gwjGmy1AKBdAiuSddN15rPNbVfX3+gEBdNnz9GQ2PgJxtWpqnfZEeNS foxKafWatQgW1CfVCTmFLM++7peqJxQuVNZspZhahhkjE4VIlh552gxJMliMhYhE5uiA TG0nI3Tuu8ZqOtrk/bPbCKhuhvbWHK53QpzSQ70xngKMxImdl9F9mEY0g0E+Zq6oW7CZ VS5UPzo5MUYdxh3Ae84r3iJpqY529zp60VjhVZPBcr/LGXGFSF1idRwAGrRWM1RLTDSX BCWOIeURsFGAGM/F7MjUcw86voY1NzwtBc2912IhEgxP+Mzra5Soh0sgpgwcdW8zNWPA lj/g== X-Gm-Message-State: ANhLgQ3bzbfj1uJNRUgc003qkGhQ7nh1/q7/JZLCvTIZxNFtEDbbbvBT E5tixExJIZKAZDplUEzfZ4suMsIw59zZ5w== X-Google-Smtp-Source: ADFU+vsD7mIA17CvSaG2PBJ9WS9DKzZ8YaYq1nttplYOEM5byPu1RTek0/g+oJXBGZ8ZHdtMLtGRpg== X-Received: by 2002:a1c:a1c2:: with SMTP id k185mr1543294wme.164.1583425900507; Thu, 05 Mar 2020 08:31:40 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 35/37] target/arm: Move helper_dc_zva to helper-a64.c Date: Thu, 5 Mar 2020 16:30:58 +0000 Message-Id: <20200305163100.22912-36-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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 This is an aarch64-only function. Move it out of the shared file. This patch is code movement only. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20200302175829.2183-6-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper-a64.h | 1 + target/arm/helper.h | 1 - target/arm/helper-a64.c | 91 ++++++++++++++++++++++++++++++++++++++++ target/arm/op_helper.c | 93 ----------------------------------------- 4 files changed, 92 insertions(+), 94 deletions(-) diff --git a/target/arm/helper-a64.h b/target/arm/helper-a64.h index a915c1247fe..b1a5935f618 100644 --- a/target/arm/helper-a64.h +++ b/target/arm/helper-a64.h @@ -90,6 +90,7 @@ DEF_HELPER_2(advsimd_f16touinth, i32, f16, ptr) DEF_HELPER_2(sqrt_f16, f16, f16, ptr) =20 DEF_HELPER_2(exception_return, void, env, i64) +DEF_HELPER_2(dc_zva, void, env, i64) =20 DEF_HELPER_FLAGS_3(pacia, TCG_CALL_NO_WG, i64, env, i64, i64) DEF_HELPER_FLAGS_3(pacib, TCG_CALL_NO_WG, i64, env, i64, i64) diff --git a/target/arm/helper.h b/target/arm/helper.h index fcbf5041213..72eb9e6a1a5 100644 --- a/target/arm/helper.h +++ b/target/arm/helper.h @@ -559,7 +559,6 @@ DEF_HELPER_FLAGS_3(crypto_sm4ekey, TCG_CALL_NO_RWG, voi= d, ptr, ptr, ptr) =20 DEF_HELPER_FLAGS_3(crc32, TCG_CALL_NO_RWG_SE, i32, i32, i32, i32) DEF_HELPER_FLAGS_3(crc32c, TCG_CALL_NO_RWG_SE, i32, i32, i32, i32) -DEF_HELPER_2(dc_zva, void, env, i64) =20 DEF_HELPER_FLAGS_5(gvec_qrdmlah_s16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32) diff --git a/target/arm/helper-a64.c b/target/arm/helper-a64.c index 123ce50e7a8..bc0649a44aa 100644 --- a/target/arm/helper-a64.c +++ b/target/arm/helper-a64.c @@ -18,6 +18,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/units.h" #include "cpu.h" #include "exec/gdbstub.h" #include "exec/helper-proto.h" @@ -1109,4 +1110,94 @@ uint32_t HELPER(sqrt_f16)(uint32_t a, void *fpstp) return float16_sqrt(a, s); } =20 +void HELPER(dc_zva)(CPUARMState *env, uint64_t vaddr_in) +{ + /* + * Implement DC ZVA, which zeroes a fixed-length block of memory. + * Note that we do not implement the (architecturally mandated) + * alignment fault for attempts to use this on Device memory + * (which matches the usual QEMU behaviour of not implementing either + * alignment faults or any memory attribute handling). + */ =20 + ARMCPU *cpu =3D env_archcpu(env); + uint64_t blocklen =3D 4 << cpu->dcz_blocksize; + uint64_t vaddr =3D vaddr_in & ~(blocklen - 1); + +#ifndef CONFIG_USER_ONLY + { + /* + * Slightly awkwardly, QEMU's TARGET_PAGE_SIZE may be less than + * the block size so we might have to do more than one TLB lookup. + * We know that in fact for any v8 CPU the page size is at least 4K + * and the block size must be 2K or less, but TARGET_PAGE_SIZE is = only + * 1K as an artefact of legacy v5 subpage support being present in= the + * same QEMU executable. So in practice the hostaddr[] array has + * two entries, given the current setting of TARGET_PAGE_BITS_MIN. + */ + int maxidx =3D DIV_ROUND_UP(blocklen, TARGET_PAGE_SIZE); + void *hostaddr[DIV_ROUND_UP(2 * KiB, 1 << TARGET_PAGE_BITS_MIN)]; + int try, i; + unsigned mmu_idx =3D cpu_mmu_index(env, false); + TCGMemOpIdx oi =3D make_memop_idx(MO_UB, mmu_idx); + + assert(maxidx <=3D ARRAY_SIZE(hostaddr)); + + for (try =3D 0; try < 2; try++) { + + for (i =3D 0; i < maxidx; i++) { + hostaddr[i] =3D tlb_vaddr_to_host(env, + vaddr + TARGET_PAGE_SIZE *= i, + 1, mmu_idx); + if (!hostaddr[i]) { + break; + } + } + if (i =3D=3D maxidx) { + /* + * If it's all in the TLB it's fair game for just writing = to; + * we know we don't need to update dirty status, etc. + */ + for (i =3D 0; i < maxidx - 1; i++) { + memset(hostaddr[i], 0, TARGET_PAGE_SIZE); + } + memset(hostaddr[i], 0, blocklen - (i * TARGET_PAGE_SIZE)); + return; + } + /* + * OK, try a store and see if we can populate the tlb. This + * might cause an exception if the memory isn't writable, + * in which case we will longjmp out of here. We must for + * this purpose use the actual register value passed to us + * so that we get the fault address right. + */ + helper_ret_stb_mmu(env, vaddr_in, 0, oi, GETPC()); + /* Now we can populate the other TLB entries, if any */ + for (i =3D 0; i < maxidx; i++) { + uint64_t va =3D vaddr + TARGET_PAGE_SIZE * i; + if (va !=3D (vaddr_in & TARGET_PAGE_MASK)) { + helper_ret_stb_mmu(env, va, 0, oi, GETPC()); + } + } + } + + /* + * Slow path (probably attempt to do this to an I/O device or + * similar, or clearing of a block of code we have translations + * cached for). Just do a series of byte writes as the architecture + * demands. It's not worth trying to use a cpu_physical_memory_map= (), + * memset(), unmap() sequence here because: + * + we'd need to account for the blocksize being larger than a p= age + * + the direct-RAM access case is almost always going to be dealt + * with in the fastpath code above, so there's no speed benefit + * + we would have to deal with the map returning NULL because the + * bounce buffer was in use + */ + for (i =3D 0; i < blocklen; i++) { + helper_ret_stb_mmu(env, vaddr + i, 0, oi, GETPC()); + } + } +#else + memset(g2h(vaddr), 0, blocklen); +#endif +} diff --git a/target/arm/op_helper.c b/target/arm/op_helper.c index af3020b78f8..eb0de080f11 100644 --- a/target/arm/op_helper.c +++ b/target/arm/op_helper.c @@ -17,7 +17,6 @@ * License along with this library; if not, see . */ #include "qemu/osdep.h" -#include "qemu/units.h" #include "qemu/log.h" #include "qemu/main-loop.h" #include "cpu.h" @@ -936,95 +935,3 @@ uint32_t HELPER(ror_cc)(CPUARMState *env, uint32_t x, = uint32_t i) return ((uint32_t)x >> shift) | (x << (32 - shift)); } } - -void HELPER(dc_zva)(CPUARMState *env, uint64_t vaddr_in) -{ - /* - * Implement DC ZVA, which zeroes a fixed-length block of memory. - * Note that we do not implement the (architecturally mandated) - * alignment fault for attempts to use this on Device memory - * (which matches the usual QEMU behaviour of not implementing either - * alignment faults or any memory attribute handling). - */ - - ARMCPU *cpu =3D env_archcpu(env); - uint64_t blocklen =3D 4 << cpu->dcz_blocksize; - uint64_t vaddr =3D vaddr_in & ~(blocklen - 1); - -#ifndef CONFIG_USER_ONLY - { - /* - * Slightly awkwardly, QEMU's TARGET_PAGE_SIZE may be less than - * the block size so we might have to do more than one TLB lookup. - * We know that in fact for any v8 CPU the page size is at least 4K - * and the block size must be 2K or less, but TARGET_PAGE_SIZE is = only - * 1K as an artefact of legacy v5 subpage support being present in= the - * same QEMU executable. So in practice the hostaddr[] array has - * two entries, given the current setting of TARGET_PAGE_BITS_MIN. - */ - int maxidx =3D DIV_ROUND_UP(blocklen, TARGET_PAGE_SIZE); - void *hostaddr[DIV_ROUND_UP(2 * KiB, 1 << TARGET_PAGE_BITS_MIN)]; - int try, i; - unsigned mmu_idx =3D cpu_mmu_index(env, false); - TCGMemOpIdx oi =3D make_memop_idx(MO_UB, mmu_idx); - - assert(maxidx <=3D ARRAY_SIZE(hostaddr)); - - for (try =3D 0; try < 2; try++) { - - for (i =3D 0; i < maxidx; i++) { - hostaddr[i] =3D tlb_vaddr_to_host(env, - vaddr + TARGET_PAGE_SIZE *= i, - 1, mmu_idx); - if (!hostaddr[i]) { - break; - } - } - if (i =3D=3D maxidx) { - /* - * If it's all in the TLB it's fair game for just writing = to; - * we know we don't need to update dirty status, etc. - */ - for (i =3D 0; i < maxidx - 1; i++) { - memset(hostaddr[i], 0, TARGET_PAGE_SIZE); - } - memset(hostaddr[i], 0, blocklen - (i * TARGET_PAGE_SIZE)); - return; - } - /* - * OK, try a store and see if we can populate the tlb. This - * might cause an exception if the memory isn't writable, - * in which case we will longjmp out of here. We must for - * this purpose use the actual register value passed to us - * so that we get the fault address right. - */ - helper_ret_stb_mmu(env, vaddr_in, 0, oi, GETPC()); - /* Now we can populate the other TLB entries, if any */ - for (i =3D 0; i < maxidx; i++) { - uint64_t va =3D vaddr + TARGET_PAGE_SIZE * i; - if (va !=3D (vaddr_in & TARGET_PAGE_MASK)) { - helper_ret_stb_mmu(env, va, 0, oi, GETPC()); - } - } - } - - /* - * Slow path (probably attempt to do this to an I/O device or - * similar, or clearing of a block of code we have translations - * cached for). Just do a series of byte writes as the architecture - * demands. It's not worth trying to use a cpu_physical_memory_map= (), - * memset(), unmap() sequence here because: - * + we'd need to account for the blocksize being larger than a p= age - * + the direct-RAM access case is almost always going to be dealt - * with in the fastpath code above, so there's no speed benefit - * + we would have to deal with the map returning NULL because the - * bounce buffer was in use - */ - for (i =3D 0; i < blocklen; i++) { - helper_ret_stb_mmu(env, vaddr + i, 0, oi, GETPC()); - } - } -#else - memset(g2h(vaddr), 0, blocklen); -#endif -} --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426712; cv=none; d=zohomail.com; s=zohoarc; b=Qfa8xlTVSBB5l/DfUHL+oamQ4mK9Zn+3WsVbwkeZNgG893uACgiA+2xCUKf1ZsVgt6Gw9YDMYsLXznLo3OktXpkATS9GPiRoFS+63jj6g7xKeF5fhyJy6CFIySTiWi9J0egJkp6B44sMwJT3P40hxa8cXSLnnpRb+gLX4j0ofrM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426712; 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=tuIAaw/0Ve1Y33WX78L8SLFKzsPrOM1J0LRXPNiMpB8=; b=A/wMDAfsvF9yDuo3TZe3hf1FBBoyPW4t4mjX8pnckNzNRvmP8GQagxZ6bd6RHK9bPd1e2eJYaSZvfucAU+s3KfUW+6hzJDjBoFBdRnUUw+NkdQrDvtKtLTifTm4nnI4YY9t1htCgCzKYSoyJiZeaDEff3yjNHkWo9eoDvuhpiRw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426712778966.8896185066964; Thu, 5 Mar 2020 08:45:12 -0800 (PST) Received: from localhost ([::1]:52738 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tcV-0000eu-QU for importer@patchew.org; Thu, 05 Mar 2020 11:45:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59597) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPT-0003xF-Vx for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPS-0002vt-Vc for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:43 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]:53668) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPS-0002v2-PN for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:42 -0500 Received: by mail-wm1-x330.google.com with SMTP id g134so7045466wme.3 for ; Thu, 05 Mar 2020 08:31:42 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:40 -0800 (PST) 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=tuIAaw/0Ve1Y33WX78L8SLFKzsPrOM1J0LRXPNiMpB8=; b=UB7Yy2tW/aYr5962Dz22/G0eZi2cfub54m0LvWD1xfVJdn5RgzOqefBuEp3QQ/Sk5a LtyEjy1ohC3gt2Y68igQs87Hj80jN7JC/gRUDxGHB7IiP9KsFJVqZQV41Br0nrOkMDod 8JcojW4D3xQClAcxSXDQqoFYmOIwtt3u5HCl1G1qaXSJMrE8v7PSS2irvZVvMDDf0V5L 5u+GyuDX6cxapmm7G18ur9twLUm+5qgdVqVUObS7bum3+OV6TZUEmi1k9RKNpY1yxtD8 iwyw7MhA6LejpClWdD+FowcCqgj/lPaSb2ICgn46OBaU+zsj3g1GOd5P4R6iUdSgewnK PSvw== 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=tuIAaw/0Ve1Y33WX78L8SLFKzsPrOM1J0LRXPNiMpB8=; b=WwgxBSfuTw3ghGc/JImD7mdKyvD4yGqPt4enNQs5tcKWYLjcmLmzRV8ulsNDxQy3lF Ot91/hGvABiGN5Jo4x65wLwEUug6lLzHC8s/RkRBvTq3+2CRPEWNrg7G0H7pDRIAJju0 rEDq90Kyv4tBiK6uX0YjM1v9gWjjw+dx4qiOazxSjO3tZg7vhOS0DfrlmTYaJP+aZsvN ArYY7s8gcgqLc2NzATWzEA7MM2wYp50TYQe145sKBVMp6XgheIRcWX0L2unjTxzQBpHY Bl2ObhAgqoF/r1y73mVEXNDUbtBQuUgdlzDqVRttOzcJ8beCP568RF3FnAmVIB+GA3Jz +uAw== X-Gm-Message-State: ANhLgQ0wRZ4pGfmTyruVJeEB64yS4rPxX7YorD5h8z04psa+sC7xdtXA 6zfdGr6yfQcZ/x1ZeBeNSbeFk875Rpx54Q== X-Google-Smtp-Source: ADFU+vtXQeEIlyhTLoD/ZhHgIfVBDyIIOFvAWApzeY4acwek+eAPdTMUtjcvbzo5GbIQA1pOxfZLeg== X-Received: by 2002:a1c:9c52:: with SMTP id f79mr10374932wme.30.1583425901439; Thu, 05 Mar 2020 08:31:41 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 36/37] target/arm: Use DEF_HELPER_FLAGS for helper_dc_zva Date: Thu, 5 Mar 2020 16:30:59 +0000 Message-Id: <20200305163100.22912-37-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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 The function does not write registers, and only reads them by implication via the exception path. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20200302175829.2183-7-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/helper-a64.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/helper-a64.h b/target/arm/helper-a64.h index b1a5935f618..3df7c185aa1 100644 --- a/target/arm/helper-a64.h +++ b/target/arm/helper-a64.h @@ -90,7 +90,7 @@ DEF_HELPER_2(advsimd_f16touinth, i32, f16, ptr) DEF_HELPER_2(sqrt_f16, f16, f16, ptr) =20 DEF_HELPER_2(exception_return, void, env, i64) -DEF_HELPER_2(dc_zva, void, env, i64) +DEF_HELPER_FLAGS_2(dc_zva, TCG_CALL_NO_WG, void, env, i64) =20 DEF_HELPER_FLAGS_3(pacia, TCG_CALL_NO_WG, i64, env, i64, i64) DEF_HELPER_FLAGS_3(pacib, TCG_CALL_NO_WG, i64, env, i64, i64) --=20 2.20.1 From nobody Fri Dec 19 14:30:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583426968; cv=none; d=zohomail.com; s=zohoarc; b=Sedwe3fSFAmh0nHUeHnibZIwt0Da0Ly474L70UM14xmc8jEDl7cRynDxWko8GbTaoTB4WisHDtke7IzIRhBoq/RFydIn02NuN4luQU3n6vEEmijDQkZAer2H8doYjYSgD4VXi1E0F1pG4mEQJfibImW6iiO/uX9RArmM5hDdTKw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583426968; 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=+6Wt2pwTNDCu5XTMFcnjWDpEDWtcbB8BiinZAb1YGOE=; b=JB1qF9U5uhqCaZ5FuyPhgd0Ofzp4ZGM7FI0BzSHvWc45lNtZ75pQ3OuB+4MKf4hhlp2lu0xzaPtEQ3fvK6bHeQy4aOhKZNFZcUg5koTIgDviiDxX3GERqhqQtLEZadG9bt2CxGr3xl1+mdVD0b2X5LwaeqvHBQAJLeFpLaw0Dog= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=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 1583426968030643.5969024209553; Thu, 5 Mar 2020 08:49:28 -0800 (PST) Received: from localhost ([::1]:52840 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tgc-0007Jx-Uj for importer@patchew.org; Thu, 05 Mar 2020 11:49:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59610) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9tPU-0003za-PW for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9tPT-0002wj-ON for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:44 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:40435) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9tPT-0002vy-HP for qemu-devel@nongnu.org; Thu, 05 Mar 2020 11:31:43 -0500 Received: by mail-wm1-x32e.google.com with SMTP id e26so6424324wme.5 for ; Thu, 05 Mar 2020 08:31:43 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id w22sm10310729wmk.34.2020.03.05.08.31.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 08:31:41 -0800 (PST) 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=+6Wt2pwTNDCu5XTMFcnjWDpEDWtcbB8BiinZAb1YGOE=; b=Rmnnodo6rVibdthmjl55H5P8+W+NaTAwt4/81MJQ+gGOWPKepTW4H0FpQIEYKvsaFc WUyifFo00VObdWTtx+WcFB1zyWyhNiLdVQpvB6fPM08MdZo+xnSpGcapLYyT/v9TJYFY 7of5XJCXj2zWKE/YxrFj+8LOk3iTwwveG01bn4rRk8FhtvlOEM0ro99/1qpmFIxwQifA fIblqe//hsEQpB1WqAfV6ImJYBu1PnY4Fc4R0mQPxppNrNA263vOzROpD7/7nV2Ufg20 Wc1KlVKK2V9GgxtxAL+5CdOJP30CJt53+gH/o5J1B7znS3AQZl9TMcLFfs0MyTrw4oaN 8BnQ== 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=+6Wt2pwTNDCu5XTMFcnjWDpEDWtcbB8BiinZAb1YGOE=; b=WdVnGPbMKaDgxhawCEHbw1xYw48WkLtusaXJEdrob0Kr3F9kbpQsku6uZBA9apOtHy dC/rA797cq57b9hJdG4b3KvM/vHEVEknJ9QgS/WKuNsr+SCPPlcupGGFVz12+DAAqceA SZO0ebnaTAbyoB0h/TZutw+5TUBgPnIoPoF9ENwd7VC2ggEgFNQMcG3gtRd8aR5kRQFx jPh6LdkOgGYkECtgYWGd9O2j2+1KM7Jag5ugGGUF0pgXaZ1g4Q34SLwKIC23HvKI1RNZ lkrxDF3GCTLwwvacKctXp7uFJfzb+tTZl+yKKI9RRHKEALBfRroPkJZ+4s6ffEO/aEvb JxrQ== X-Gm-Message-State: ANhLgQ2pxB9ld3kCbeIH5hYljP2zWZNEqguaskHqFvZhXbAECbRXbqSS 6xmnITt9/qiFLVEbV8THir7z9Zl4eNxm8w== X-Google-Smtp-Source: ADFU+vs1t19Utr016N2bRIc1sB627mT0dbfnr/G+Kmy33flvGHtV2INCQCzzjZXFT5xLB/UJTvusQw== X-Received: by 2002:a05:600c:2255:: with SMTP id a21mr6284361wmm.91.1583425902364; Thu, 05 Mar 2020 08:31:42 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 37/37] target/arm: Clean address for DC ZVA Date: Thu, 5 Mar 2020 16:31:00 +0000 Message-Id: <20200305163100.22912-38-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305163100.22912-1-peter.maydell@linaro.org> References: <20200305163100.22912-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::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) Content-Type: text/plain; charset="utf-8" From: Richard Henderson This data access was forgotten when we added support for cleaning addresses of TBI information. Fixes: 3a471103ac1823ba Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20200302175829.2183-8-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index c910a49b4e0..fefe8af7f52 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -1784,7 +1784,7 @@ static void handle_sys(DisasContext *s, uint32_t insn= , bool isread, return; case ARM_CP_DC_ZVA: /* Writes clear the aligned block of memory which rt points into. = */ - tcg_rt =3D cpu_reg(s, rt); + tcg_rt =3D clean_data_tbi(s, cpu_reg(s, rt)); gen_helper_dc_zva(cpu_env, tcg_rt); return; default: --=20 2.20.1