From nobody Fri May 17 10:21:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VgjgS3HK5z5KvyD; Fri, 17 May 2024 10:21:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VgjgS1hjFz53N8; Fri, 17 May 2024 10:21:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1715941316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vdvuWWz9bWlHu58To5GKArMeJdsxuXBqoQRWpXMlZJY=; b=jn8e1ezx5+X0iat1Zh8jNfcl2+hbhTn551SBEwkMwC6EztHOaj04hVYdsZPWLBIoj8BldA fDK79uqmcF0urgQq1AWMKoaGPZx1zCe4sv4bUcdd/4Kl39VatUKZQN4ShSYSB/iEiDG1Gl Kk9R7XJHQxerJx8hMhVWmpPVWIhzmSOq2bFjHp/vZpOersE3+kGyfxBBqFWNVF9Arsy99z 3P7eLeSRVtFfaXvDFYudylS2F3NN6Mx44CoemPctJucnkgByxkP068F/80WNKMvNAef7sz OATHuSq2cjBJGezBFjO9qQq62lpne/6z3nO2UCsOeroAnaobwOa0cN0FQIsSKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1715941316; a=rsa-sha256; cv=none; b=E7MAU4M6NQLrwWvtNoNjSlpUFXEUkx2clbA3jnuMV5w1Na+N1prOQmlHe9R17+UpGbyVYR kRUH4H3+RfEGUMQ2FHmOVSenyWboG+dinwjPh/9BFbl9+2mPZYpjRnh74TgqHKtUe2geWl Y7wuLBrmdKtxLLpXDLvNzp96KVtOM9BhZkk+GG66sfBHhDlqA61xOQfQ7ULVmjt131l2mC WLckSH6k8pclfiVKVH02lj9xrxJrMhA54SJVGCCi2WZpAcWFLrel6N/9g4LM3s9cPDPzLN NKnW+/n60jn58PBUNbnsyXfumgq6lsdTegsv+0h/pwZ/QY64+zZMTuzR7XzseA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1715941316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vdvuWWz9bWlHu58To5GKArMeJdsxuXBqoQRWpXMlZJY=; b=uxKMdosaqQRHwckwEnMlz0kSGEXq5s2LOZLDitc8NHlpE1wJ8unB5BCpC3lB186DSsv+j7 NB/UR83v2R6CyUdFZkoHygb2svHSl2ik5W6qqBEIDCwzrFoukvcsZ1t30lxSrUY1wDXUPX MPZ5LlydM2SLu4+7wYkRGxRBn+yu6wL+u3XufQQfyFpWF3UqosMTLaTllnuahz1kMMQtkn 7YdFCEZajeqM6H7Xe9mgl60JusqD9y7MXGyHlR0vcXCDHxzwtunhNx3PMDqSaqbRCNnzeM TPcY92eAUIwNW2tl4mAQZI+ttQ0Tqf6fSmXeISmWEeK8y0QfUfXSwnxVNbQtmQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VgjgS19RDzfDS; Fri, 17 May 2024 10:21:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 44HALuaX072469; Fri, 17 May 2024 10:21:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 44HALugB072466; Fri, 17 May 2024 10:21:56 GMT (envelope-from git) Date: Fri, 17 May 2024 10:21:56 GMT Message-Id: <202405171021.44HALugB072466@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: cd3681011001 - main - arm64: Use the _REG macros to read ID registers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cd36810110017ad5882784a7842cfdf9c92ef098 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=cd36810110017ad5882784a7842cfdf9c92ef098 commit cd36810110017ad5882784a7842cfdf9c92ef098 Author: Andrew Turner AuthorDate: 2024-05-13 14:48:25 +0000 Commit: Andrew Turner CommitDate: 2024-05-17 09:38:38 +0000 arm64: Use the _REG macros to read ID registers To build with old toolchains use the *_REG macros to access the ID registers. These become a name in the form S?_?_C?_C?_? where the '?' values encode the op and CR values needed to access the register. For consistency use these macros for all ID registers, even if most toolchains understand them. Reviewed by: Zachary Leaf Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45177 --- sys/arm64/arm64/identcpu.c | 46 +++++++++++++--------------------------------- 1 file changed, 13 insertions(+), 33 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 01b434fd4f47..5fec7cba385f 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -138,15 +138,11 @@ struct cpu_desc { uint64_t id_aa64mmfr0; uint64_t id_aa64mmfr1; uint64_t id_aa64mmfr2; -#ifdef NOTYET uint64_t id_aa64mmfr3; uint64_t id_aa64mmfr4; -#endif uint64_t id_aa64pfr0; uint64_t id_aa64pfr1; -#ifdef NOTYET uint64_t id_aa64pfr2; -#endif uint64_t id_aa64zfr0; uint64_t ctr; #ifdef COMPAT_FREEBSD32 @@ -1297,7 +1293,6 @@ static const struct mrs_field id_aa64mmfr2_fields[] = { }; -#ifdef NOTYET /* ID_AA64MMFR2_EL1 */ static const struct mrs_field_value id_aa64mmfr3_spec_fpacc[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR3, Spec_FPACC, NONE, IMPL), @@ -1333,7 +1328,6 @@ static const struct mrs_field id_aa64mmfr3_fields[] = { static const struct mrs_field id_aa64mmfr4_fields[] = { MRS_FIELD_END, }; -#endif /* ID_AA64PFR0_EL1 */ @@ -1572,12 +1566,10 @@ static const struct mrs_field id_aa64pfr1_fields[] = { }; -#ifdef NOTYET /* ID_AA64PFR2_EL1 */ static const struct mrs_field id_aa64pfr2_fields[] = { MRS_FIELD_END, }; -#endif /* ID_AA64ZFR0_EL1 */ @@ -1880,16 +1872,12 @@ static const struct mrs_user_reg user_regs[] = { USER_REG(ID_AA64MMFR0_EL1, id_aa64mmfr0, true), USER_REG(ID_AA64MMFR1_EL1, id_aa64mmfr1, true), USER_REG(ID_AA64MMFR2_EL1, id_aa64mmfr2, true), -#ifdef NOTYET USER_REG(ID_AA64MMFR3_EL1, id_aa64mmfr3, true), USER_REG(ID_AA64MMFR4_EL1, id_aa64mmfr4, true), -#endif USER_REG(ID_AA64PFR0_EL1, id_aa64pfr0, true), USER_REG(ID_AA64PFR1_EL1, id_aa64pfr1, true), -#ifdef NOTYET USER_REG(ID_AA64PFR2_EL1, id_aa64pfr2, true), -#endif USER_REG(ID_AA64ZFR0_EL1, id_aa64zfr0, true), @@ -2669,12 +2657,10 @@ print_cpu_features(u_int cpu, struct cpu_desc *desc, print_id_register(sb, "Processor Features 1", desc->id_aa64pfr1, id_aa64pfr1_fields); -#ifdef NOTYET /* AArch64 Processor Feature Register 2 */ if (SHOULD_PRINT_REG(id_aa64pfr2)) print_id_register(sb, "Processor Features 2", desc->id_aa64pfr2, id_aa64pfr2_fields); -#endif /* AArch64 Memory Model Feature Register 0 */ if (SHOULD_PRINT_REG(id_aa64mmfr0)) @@ -2691,7 +2677,6 @@ print_cpu_features(u_int cpu, struct cpu_desc *desc, print_id_register(sb, "Memory Model Features 2", desc->id_aa64mmfr2, id_aa64mmfr2_fields); -#ifdef NOTYET /* AArch64 Memory Model Feature Register 3 */ if (SHOULD_PRINT_REG(id_aa64mmfr3)) print_id_register(sb, "Memory Model Features 3", @@ -2701,7 +2686,6 @@ print_cpu_features(u_int cpu, struct cpu_desc *desc, if (SHOULD_PRINT_REG(id_aa64mmfr4)) print_id_register(sb, "Memory Model Features 4", desc->id_aa64mmfr4, id_aa64mmfr4_fields); -#endif /* AArch64 Debug Feature Register 0 */ if (SHOULD_PRINT_REG(id_aa64dfr0)) @@ -2809,23 +2793,19 @@ identify_cpu(u_int cpu) CPU_AFFINITY(cpu) = desc->mpidr & CPU_AFF_MASK; desc->ctr = READ_SPECIALREG(ctr_el0); - desc->id_aa64dfr0 = READ_SPECIALREG(id_aa64dfr0_el1); - desc->id_aa64dfr1 = READ_SPECIALREG(id_aa64dfr1_el1); - desc->id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1); - desc->id_aa64isar1 = READ_SPECIALREG(id_aa64isar1_el1); - desc->id_aa64isar2 = READ_SPECIALREG(id_aa64isar2_el1); - desc->id_aa64mmfr0 = READ_SPECIALREG(id_aa64mmfr0_el1); - desc->id_aa64mmfr1 = READ_SPECIALREG(id_aa64mmfr1_el1); - desc->id_aa64mmfr2 = READ_SPECIALREG(id_aa64mmfr2_el1); -#ifdef NOTYET - desc->id_aa64mmfr3 = READ_SPECIALREG(id_aa64mmfr3_el1); - desc->id_aa64mmfr4 = READ_SPECIALREG(id_aa64mmfr4_el1); -#endif - desc->id_aa64pfr0 = READ_SPECIALREG(id_aa64pfr0_el1); - desc->id_aa64pfr1 = READ_SPECIALREG(id_aa64pfr1_el1); -#ifdef NOTYET - desc->id_aa64pfr2 = READ_SPECIALREG(id_aa64pfr2_el1); -#endif + desc->id_aa64dfr0 = READ_SPECIALREG(ID_AA64DFR0_EL1_REG); + desc->id_aa64dfr1 = READ_SPECIALREG(ID_AA64DFR1_EL1_REG); + desc->id_aa64isar0 = READ_SPECIALREG(ID_AA64ISAR0_EL1_REG); + desc->id_aa64isar1 = READ_SPECIALREG(ID_AA64ISAR1_EL1_REG); + desc->id_aa64isar2 = READ_SPECIALREG(ID_AA64ISAR2_EL1_REG); + desc->id_aa64mmfr0 = READ_SPECIALREG(ID_AA64MMFR0_EL1_REG); + desc->id_aa64mmfr1 = READ_SPECIALREG(ID_AA64MMFR1_EL1_REG); + desc->id_aa64mmfr2 = READ_SPECIALREG(ID_AA64MMFR2_EL1_REG); + desc->id_aa64mmfr3 = READ_SPECIALREG(ID_AA64MMFR3_EL1_REG); + desc->id_aa64mmfr4 = READ_SPECIALREG(ID_AA64MMFR4_EL1_REG); + desc->id_aa64pfr0 = READ_SPECIALREG(ID_AA64PFR0_EL1_REG); + desc->id_aa64pfr1 = READ_SPECIALREG(ID_AA64PFR1_EL1_REG); + desc->id_aa64pfr2 = READ_SPECIALREG(ID_AA64PFR2_EL1_REG); /* * ID_AA64ZFR0_EL1 is only valid when at least one of: