From nobody Mon Apr 22 13:47:52 2024 X-Original-To: dev-commits-src-all@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 4VNRQc5B7Wz5H7cj; Mon, 22 Apr 2024 13:47:52 +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 4VNRQc4d8yz4fg4; Mon, 22 Apr 2024 13:47:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713793672; 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=TaIvjqGkc3hCAfHdeJfoe3gnlG2bnoynmMt/blC1zOc=; b=t8HREv1RO1liYSOdKRoMJ3rSXFEcVMQ8RpD7XpNnj7sIpLvW1N+QKYYiRUgDI5bQB2vcf1 p6XqUPHhKhllnDZtTF+4Sjk5EugxAULcAsT3NXkWGajUIV9jPuE+rviUGB3PqYT9zLA7+S DIx0fISgjSElSQ6YwyYSixAmilxYcvJNJzwHzKaAAm7Bd37KNZ0hCbMnoWEK+jyQp7hhQu fGCGw8s9iyRwoQdbxFIWSFlDdwq+HEtTlNL6JmlSRoFlUsrRm8sURgN2HTo0aEgFxpcaal 7EiVUTXP125wfKsZVvcUM+EdAtkTQblulZ5REVdASLWUBuk26a2PS42FbjblNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713793672; a=rsa-sha256; cv=none; b=RHTJU21EnNvN6ZkeWtFD8VXTGht44WSS4jPz/KiWPidkdFbMdDYT5cF5okoCzmpBHKKD7N 58pDhkDLFBExIQ8BgJTmD1SA8u6AMbiuNHmcqtKfpe0OV7wsbhqQOc5V0+VyV0lQwaYJbX daNwVeStZrn7RQ+/NxIA2ORrHbCW/WVwiMMQyvl8/qZgsWTTn+inDF0DSdC3Dp4ho9GL2s mt9UhJpXo2oil8RSN+KMfCgOabu++Vsuf3dIStMsm6Qo5gClJ6aKoAFV4oTiLeYyoJy2gV tCFqhRBJdXQOF7sD/IQMrJvEVma/GaNDC+VhmEzd8xLuL0SGYoNmh6jXclj+CA== 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=1713793672; 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=TaIvjqGkc3hCAfHdeJfoe3gnlG2bnoynmMt/blC1zOc=; b=HxsvIzACvtVZsp4GU8AopasXef+daNQAXw22ztETB7l4AQZjfqXt+Lx2nI4Zk0nNpk0Fd2 p9dhVkn5dYHi7Hkc7ueNj4k1hGbPEk3OPtKM3rAaBJo6pM67G45bMm7zKJDl0B8Ki99WIC VcDn9oEM9TLu0e+usPpAu4pTHS4HEzUoQY9z8tqKulQjDP+e8GrFsV6INOzfaT/gsSzecf ZZPHOFfPvOl49gx0EvigY/bqlUSFPFoPBPHaSAe56x+cMZ32AyimpwhYzok5a51U7t+Phl +LLNxsRs6l3pNHcQ8Si3uvjxIFEvrd2RemKfaZqOXojRoH56hBtf6HMk0V+9gw== 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 4VNRQc4DL5zr3y; Mon, 22 Apr 2024 13:47:52 +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 43MDlqf1021667; Mon, 22 Apr 2024 13:47:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43MDlqkL021665; Mon, 22 Apr 2024 13:47:52 GMT (envelope-from git) Date: Mon, 22 Apr 2024 13:47:52 GMT Message-Id: <202404221347.43MDlqkL021665@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: fc045609789f - stable/14 - arm64: add CPU part identifiers for Apple M1 and M2 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fc045609789feec9d6dce75c3558fd080d53a004 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fc045609789feec9d6dce75c3558fd080d53a004 commit fc045609789feec9d6dce75c3558fd080d53a004 Author: Lexi Winter AuthorDate: 2024-03-23 16:18:24 +0000 Commit: Mark Johnston CommitDate: 2024-04-22 13:47:38 +0000 arm64: add CPU part identifiers for Apple M1 and M2 Part numbers are sourced from Linux (arch/arm64/include/asm/cputype.h). MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/1144 (cherry picked from commit da2b732288c72b347b128e1fa9a169c7bba3beb8) --- sys/arm64/arm64/identcpu.c | 19 ++++++++++++++++++- sys/arm64/include/cpu.h | 14 ++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index d02be636ad50..8ecb4926c198 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -251,6 +251,23 @@ static const struct cpu_parts cpu_parts_qcom[] = { CPU_PART_NONE, }; +/* Apple */ +static const struct cpu_parts cpu_parts_apple[] = { + { CPU_PART_M1_ICESTORM, "M1 Icestorm" }, + { CPU_PART_M1_FIRESTORM, "M1 Firestorm" }, + { CPU_PART_M1_ICESTORM_PRO, "M1 Pro Icestorm" }, + { CPU_PART_M1_FIRESTORM_PRO, "M1 Pro Firestorm" }, + { CPU_PART_M1_ICESTORM_MAX, "M1 Max Icestorm" }, + { CPU_PART_M1_FIRESTORM_MAX, "M1 Max Firestorm" }, + { CPU_PART_M2_BLIZZARD, "M2 Blizzard" }, + { CPU_PART_M2_AVALANCHE, "M2 Avalanche" }, + { CPU_PART_M2_BLIZZARD_PRO, "M2 Pro Blizzard" }, + { CPU_PART_M2_AVALANCHE_PRO, "M2 Pro Avalanche" }, + { CPU_PART_M2_BLIZZARD_MAX, "M2 Max Blizzard" }, + { CPU_PART_M2_AVALANCHE_MAX, "M2 Max Avalanche" }, + CPU_PART_NONE, +}; + /* Unknown */ static const struct cpu_parts cpu_parts_none[] = { CPU_PART_NONE, @@ -261,7 +278,7 @@ static const struct cpu_parts cpu_parts_none[] = { */ const struct cpu_implementers cpu_implementers[] = { { CPU_IMPL_AMPERE, "Ampere", cpu_parts_none }, - { CPU_IMPL_APPLE, "Apple", cpu_parts_none }, + { CPU_IMPL_APPLE, "Apple", cpu_parts_apple }, { CPU_IMPL_APM, "APM", cpu_parts_apm }, { CPU_IMPL_ARM, "ARM", cpu_parts_arm }, { CPU_IMPL_BROADCOM, "Broadcom", cpu_parts_none }, diff --git a/sys/arm64/include/cpu.h b/sys/arm64/include/cpu.h index 9ef5b7897a7c..c84d48438964 100644 --- a/sys/arm64/include/cpu.h +++ b/sys/arm64/include/cpu.h @@ -134,6 +134,20 @@ #define CPU_PART_KRYO400_GOLD 0x804 #define CPU_PART_KRYO400_SILVER 0x805 +/* Apple part numbers */ +#define CPU_PART_M1_ICESTORM 0x022 +#define CPU_PART_M1_FIRESTORM 0x023 +#define CPU_PART_M1_ICESTORM_PRO 0x024 +#define CPU_PART_M1_FIRESTORM_PRO 0x025 +#define CPU_PART_M1_ICESTORM_MAX 0x028 +#define CPU_PART_M1_FIRESTORM_MAX 0x029 +#define CPU_PART_M2_BLIZZARD 0x032 +#define CPU_PART_M2_AVALANCHE 0x033 +#define CPU_PART_M2_BLIZZARD_PRO 0x034 +#define CPU_PART_M2_AVALANCHE_PRO 0x035 +#define CPU_PART_M2_BLIZZARD_MAX 0x038 +#define CPU_PART_M2_AVALANCHE_MAX 0x039 + #define CPU_IMPL(midr) (((midr) >> 24) & 0xff) #define CPU_PART(midr) (((midr) >> 4) & 0xfff) #define CPU_VAR(midr) (((midr) >> 20) & 0xf)