From nobody Fri Oct 11 21:17:58 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 4XQKGZ2x8mz5ZQpc; Fri, 11 Oct 2024 21:17:58 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XQKGZ22T1z4Ltf; Fri, 11 Oct 2024 21:17:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728681478; 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=n7csXopWq+036JU7y1yUCKVPjdWbHctzjxPwRv1ZkvQ=; b=TSS7Z2X0C9ScFFzK8Y1ZKw2f3b+plbtNvqG4RKS7LNdvZYCvvjM6jKXzRSmYZ6OnIlQf0c ZG06ZdLP+9FRcF4Y3abO/N5szdf/BHsH9mnor2osRdBpomUeMSkcxZZnpfPVAVgh53kmvj 9BhNH9t0jbya5JP87WkBMbWaGBUBeI2BA/NpNVdxaZtR/6nS3Xv+NQghNhsqPTLtIF3spi PgOZGRxKH7R6Gxs9YrNEQN+mnOuETfuJsijcefSqxNoXvfB00pIcrqo0Ja9WC+dzAuOaKH UPy9yP7XqvAeY6NriKoII6CDBBkhgX+iQD2aZM0gdh8Wd2hbkal0NKT1oc9tLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1728681478; 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=n7csXopWq+036JU7y1yUCKVPjdWbHctzjxPwRv1ZkvQ=; b=M55UP+Aw0pDdDLI1WFGY4excHPKHdeDLhne486+A3Xj+0j5u06zRtddNuuYMZ4emy1KUPj LkCowbeoeKJL4dBKD19FJkJ2w9QbCSvEq2pt2J6izD+e0bV2vUqtPjaRbTlau/j6jYh55R FQd+GUoM3Jjwgsk0iUwQ4RyOHGPwx+vUyqOspQtbTD1FGvmHJN3EG/B6ktHqage4i7skJa z7qb67/LJI2nisAkMONgzHuhjvvLkYn4IWaLm23v4eAXwZlDuzA/vOkd3+W3cUywX9gYaj Fkan3CQyS9ATnifZ/Sh38wpmeOQbTHiFspNoDKTLDMZ12ROCZbyEvHjgHrXNbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1728681478; a=rsa-sha256; cv=none; b=v/Wg3WFz2ymos2HngSWl/JsnpZAb8X0/lZZGnM2lelfwek0xvJKByq3GE7t9O8BZZ8zpSz Y5S0BmB4M+PfLVefLc1mIpL8BI5goCMKfeDl/BM+jHbYmvmiMnPRFLOzjPs3tHsEHAYIZc hVUr/HK/O6E1CwrRgae0D+OBKPzQtks2f8HAsf4oDgriQOF7SCSekiMZV1Eb40+aT5G7KU fL7GDHNMqgTeHC5+wLO/uJtn7Qc+s0IsL/Merkf0bRJpTf8JvK+Ubps97JiHiwAoM1TB0P AkrEfsDejEpbqyp1cYLjtioQuv9JJFH6iCqGoCDrb0be0fZu93QDK2CNFK0bFg== 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 4XQKGZ1frczxcJ; Fri, 11 Oct 2024 21:17:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49BLHwl6034364; Fri, 11 Oct 2024 21:17:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49BLHw41034361; Fri, 11 Oct 2024 21:17:58 GMT (envelope-from git) Date: Fri, 11 Oct 2024 21:17:58 GMT Message-Id: <202410112117.49BLHw41034361@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: f2e62e601304 - main - loader/powerpc: Add some CAS support for newer POWER CPUs 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: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f2e62e601304cea927bbeea70c484030b8e9fe45 Auto-Submitted: auto-generated The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=f2e62e601304cea927bbeea70c484030b8e9fe45 commit f2e62e601304cea927bbeea70c484030b8e9fe45 Author: Justin Hibbits AuthorDate: 2024-10-11 21:01:15 +0000 Commit: Justin Hibbits CommitDate: 2024-10-11 21:17:43 +0000 loader/powerpc: Add some CAS support for newer POWER CPUs * Add PVR bits for POWER10 and POWER11 * Initialize the `err` outvar, in case it's not touched on success by the hypervisor, to prevent spurious errors. --- stand/powerpc/ofw/cas.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/stand/powerpc/ofw/cas.c b/stand/powerpc/ofw/cas.c index b112aae67d85..45fd4d8d567f 100644 --- a/stand/powerpc/ofw/cas.c +++ b/stand/powerpc/ofw/cas.c @@ -40,10 +40,13 @@ #define PVR_CPU_P8NVL 0x004c0000 #define PVR_CPU_P8 0x004d0000 #define PVR_CPU_P9 0x004e0000 +#define PVR_CPU_P10 0x00800000 +#define PVR_CPU_P11 0x00820000 #define PVR_CPU_MASK 0xffff0000 #define PVR_ISA_207 0x0f000004 #define PVR_ISA_300 0x0f000005 +#define PVR_ISA_31 0x0f000006 #define PVR_ISA_MASK 0xffffffff /* loader version of kernel's CPU_MAXSIZE */ @@ -122,7 +125,7 @@ struct opt_vec5 { } __packed; static struct ibm_arch_vec { - struct pvr pvr_list[7]; + struct pvr pvr_list[10]; uint8_t num_opts; struct opt_vec_ignore vec1; struct opt_vec_ignore vec2; @@ -135,8 +138,11 @@ static struct ibm_arch_vec { { htobe32(PVR_CPU_MASK), htobe32(PVR_CPU_P8E) }, { htobe32(PVR_CPU_MASK), htobe32(PVR_CPU_P8NVL) }, { htobe32(PVR_CPU_MASK), htobe32(PVR_CPU_P9) }, + { htobe32(PVR_CPU_MASK), htobe32(PVR_CPU_P10) }, + { htobe32(PVR_CPU_MASK), htobe32(PVR_CPU_P11) }, { htobe32(PVR_ISA_MASK), htobe32(PVR_ISA_207) }, { htobe32(PVR_ISA_MASK), htobe32(PVR_ISA_300) }, + { htobe32(PVR_ISA_MASK), htobe32(PVR_ISA_31) }, { 0, 0xffffffffu } /* terminator */ }, 4, /* num_opts (4 actually means 5 option vectors) */ @@ -185,7 +191,7 @@ ppc64_cas(void) { phandle_t pkg; ihandle_t inst; - cell_t err; + cell_t err = 0; uint8_t buf[16], idx, val; int i, len, rc, radix_mmu; const char *var;