From nobody Fri Nov 14 18:20:00 2025 Delivered-To: importer@patchew.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=1761935799; cv=none; d=zohomail.com; s=zohoarc; b=QxW1iwczPWYH+dhuBbVlhmYE4dXYvYOcwIWoGBd+pYYiC7MkZr7VH9YGwW4xkme4mn+ghTo8Y0XrzpCPluLnPggWSUu00SGNy5HHPhebObftxgEhG7f39ZLH/HS3WeuNKCX6yJYtAH7MPcUvhR3t/9zwNpOlNONgJGJRk1Sh+D8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761935799; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=h94wgQCnwPK/CyYz1RjeCmxtDplpfFb/9H5sqCClSa4=; b=Hg/Y/kjeRrSI+h9TZjPvcRiLEhyUBNBrfP03QnKxwuI58xsO7psiSBCsgp1TEF8pKb6mqr32AO0mu5xQFlshXwfdNJTcyIeQPu4Ge2l4Yr6tOr4swYXpkpx4nqzKmCts9qrL+4aN158aF1nk6czlEOcI6AAbmxkJOVi0ErvpR7Y= 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) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761935799575378.56395599859025; Fri, 31 Oct 2025 11:36:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vEtww-0004s1-EO; Fri, 31 Oct 2025 14:34:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vEtwv-0004ql-Go for qemu-devel@nongnu.org; Fri, 31 Oct 2025 14:34:09 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vEtwR-0006Et-Nu for qemu-devel@nongnu.org; Fri, 31 Oct 2025 14:34:08 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-429c19b5de4so855002f8f.3 for ; Fri, 31 Oct 2025 11:33:38 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429c114c944sm4859142f8f.20.2025.10.31.11.33.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Oct 2025 11:33:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761935615; x=1762540415; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=h94wgQCnwPK/CyYz1RjeCmxtDplpfFb/9H5sqCClSa4=; b=xRSZV/H+bjE/f6wKQSYeAkgyuEqc1GGuHj4Mo7YAK1/Y4GIjdMgIH4VGvrLoTzr+3u z/6bukxbVJN3RlUxpNAYmN6B/sN67kaUooHZVi8QPPSbJpczSL4RZlW2rqH6POS1yQ91 DUbB+h8aDGJn4vkv/YPJik2rxk1jQgo/jOpoIc4NiFleqh4GwIauZOxzU5yBJpUkeQrZ VDf3lZ0gyj96sYNmkH2HazU4AHH/nk+AxNdgOnk42pgge6tcyyejr/mE46qG4IPpg97g y5jOgBDNTV1m87hi4A9sQBPPBH8wXKtrm1SGWK327OR+UsuCaM1jqt5o52soZL8//mxI 9F5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761935615; x=1762540415; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=h94wgQCnwPK/CyYz1RjeCmxtDplpfFb/9H5sqCClSa4=; b=Bim7Gg63rSUTe6uY6z8AiuhFgiX91hwisJfqL77cHrKe3hvscm5ONkeN0pvYHBA9eU uqOXFk9GQzMUNrzqR02yvXjzd0jLBndUZ69Q9KgecBXbQ+DySHw8G3Fq/+4I7D7QJwvM GmzWHjtSbOBFk7tXGEV5ajzMpCxl/6n0NzAhRTOqLjq1NhBkCM3m4wiYMxHVmy+KL1m9 QCCqRt9hMVBwsehqJ3tC6inm5UnNb3UZwGshdkkLC4e42yqYObpUAR9KmtYDe/Vbwo7e j8PAfad3CrAOY0d50RimLhkTE2J4TnArHlJiiyRqRVIhe1ZkB3Cigr/lEB6LEZeMcuRL 0h3w== X-Gm-Message-State: AOJu0YwspFAlqn2f4kbUdoyiZxm28dLJAJJ1PtbmOXpyeo0thct1TUac uHfW6h4PLICF+XSfnI7wkajRmbjzqb6f5oKPnwYBAN048PPZ0ACYoY1zzJSlzF5WvCO1Ejtlct6 52Lg2 X-Gm-Gg: ASbGncvCpiEtTMA4/KChVwg9mAFigh6Whjl36v9vhbTtSHOF3fngCfcCMvQWlsjTQvK J+q3S3EfoeRR/w9qQsQD9HjNRFELsz1+sSkDS+/ie03VoO8M46OilbE2XynWlzPAKoh4iWsVNjo giSXFLNg5TV2cu8scXVNzcTrnHowXNk77W9gz35YhrjHIFxmnkhgTU6FGB3FaFbi9pQ/jY37xZa A+ZN342d41wXtIg2Dcs0hrQ4IsBX7o+EoAFC9ej8eLrPpyhUZ3a6qVdr/MxF1qwLhIRtXvV2IPH x+kqcrRfRG31CGmFdyshlliN1UmxB4teZE3+2hnaO+YIOtFr5ojo8tVwn4lyCtm2TLnMOVtmVJH Z1P7kUFTRR5o3GFA+P8x4kmf/Ed+xUeOOiZCY7RLbMrPlD0EBhFx/VDb7as65oV9oLjZDvjO5pN pSQ9j28o1diL1MpWW3 X-Google-Smtp-Source: AGHT+IEF0CKnTGiMhO1s/Ax/7g3Bss99/29uOU7sJxzkwNSq4ybRnovCLWBr8DJ81T6hpPF48WVKrg== X-Received: by 2002:a5d:5f43:0:b0:428:3c4f:2c40 with SMTP id ffacd0b85a97d-429bd6c11b0mr4330913f8f.56.1761935615098; Fri, 31 Oct 2025 11:33:35 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 23/38] target/arm/hvf: Simplify hvf_arm_get_host_cpu_features() Date: Fri, 31 Oct 2025 18:32:55 +0000 Message-ID: <20251031183310.3778349-24-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251031183310.3778349-1-peter.maydell@linaro.org> References: <20251031183310.3778349-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1761935800655154100 From: Philippe Mathieu-Daud=C3=A9 Use index in the structure, dereference &host_isar.idregs[] once. Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell Reviewed-by: Richard Henderson Signed-off-by: Peter Maydell --- target/arm/hvf/hvf.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 890e9266f93..dea1cb37d1f 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -743,21 +743,21 @@ static void clamp_id_aa64mmfr0_parange_to_ipa_size(AR= MISARegisters *isar) static bool hvf_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf) { ARMISARegisters host_isar =3D {}; - const struct isar_regs { + static const struct isar_regs { int reg; - uint64_t *val; + ARMIDRegisterIdx index; } regs[] =3D { - { HV_SYS_REG_ID_AA64PFR0_EL1, &host_isar.idregs[ID_AA64PFR0_EL1_ID= X] }, - { HV_SYS_REG_ID_AA64PFR1_EL1, &host_isar.idregs[ID_AA64PFR1_EL1_ID= X] }, + { HV_SYS_REG_ID_AA64PFR0_EL1, ID_AA64PFR0_EL1_IDX }, + { HV_SYS_REG_ID_AA64PFR1_EL1, ID_AA64PFR1_EL1_IDX }, /* Add ID_AA64PFR2_EL1 here when HVF supports it */ - { HV_SYS_REG_ID_AA64DFR0_EL1, &host_isar.idregs[ID_AA64DFR0_EL1_ID= X] }, - { HV_SYS_REG_ID_AA64DFR1_EL1, &host_isar.idregs[ID_AA64DFR1_EL1_ID= X] }, - { HV_SYS_REG_ID_AA64ISAR0_EL1, &host_isar.idregs[ID_AA64ISAR0_EL1_= IDX] }, - { HV_SYS_REG_ID_AA64ISAR1_EL1, &host_isar.idregs[ID_AA64ISAR1_EL1_= IDX] }, + { HV_SYS_REG_ID_AA64DFR0_EL1, ID_AA64DFR0_EL1_IDX }, + { HV_SYS_REG_ID_AA64DFR1_EL1, ID_AA64DFR1_EL1_IDX }, + { HV_SYS_REG_ID_AA64ISAR0_EL1, ID_AA64ISAR0_EL1_IDX }, + { HV_SYS_REG_ID_AA64ISAR1_EL1, ID_AA64ISAR1_EL1_IDX }, /* Add ID_AA64ISAR2_EL1 here when HVF supports it */ - { HV_SYS_REG_ID_AA64MMFR0_EL1, &host_isar.idregs[ID_AA64MMFR0_EL1_= IDX] }, - { HV_SYS_REG_ID_AA64MMFR1_EL1, &host_isar.idregs[ID_AA64MMFR1_EL1_= IDX] }, - { HV_SYS_REG_ID_AA64MMFR2_EL1, &host_isar.idregs[ID_AA64MMFR2_EL1_= IDX] }, + { HV_SYS_REG_ID_AA64MMFR0_EL1, ID_AA64MMFR0_EL1_IDX }, + { HV_SYS_REG_ID_AA64MMFR1_EL1, ID_AA64MMFR1_EL1_IDX }, + { HV_SYS_REG_ID_AA64MMFR2_EL1, ID_AA64MMFR2_EL1_IDX }, /* Add ID_AA64MMFR3_EL1 here when HVF supports it */ }; hv_vcpu_t fd; @@ -780,7 +780,8 @@ static bool hvf_arm_get_host_cpu_features(ARMHostCPUFea= tures *ahcf) } =20 for (i =3D 0; i < ARRAY_SIZE(regs); i++) { - r |=3D hv_vcpu_get_sys_reg(fd, regs[i].reg, regs[i].val); + r |=3D hv_vcpu_get_sys_reg(fd, regs[i].reg, + &host_isar.idregs[regs[i].index]); } r |=3D hv_vcpu_destroy(fd); =20 --=20 2.43.0