The branch main has been updated by jhibbits:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=1e434da3b065ef96b389e5e0b604ae05a51e794e

commit 1e434da3b065ef96b389e5e0b604ae05a51e794e
Author:     Justin Hibbits <jhibb...@freebsd.org>
AuthorDate: 2024-10-11 21:03:12 +0000
Commit:     Justin Hibbits <jhibb...@freebsd.org>
CommitDate: 2024-10-11 21:17:43 +0000

    powerpc: Add nominal support for POWER10 and POWER11
---
 sys/powerpc/include/cpu.h |  2 ++
 sys/powerpc/include/spr.h |  2 ++
 sys/powerpc/powerpc/cpu.c | 18 ++++++++++++++++++
 3 files changed, 22 insertions(+)

diff --git a/sys/powerpc/include/cpu.h b/sys/powerpc/include/cpu.h
index 02ff42877f0e..35b32566484c 100644
--- a/sys/powerpc/include/cpu.h
+++ b/sys/powerpc/include/cpu.h
@@ -90,6 +90,8 @@ extern u_long cpu_features2;
 #define        PPC_FEATURE2_DARN       0x00200000
 #define        PPC_FEATURE2_SCV        0x00100000
 #define        PPC_FEATURE2_HTM_NOSUSPEND      0x00080000
+#define        PPC_FEATURE2_ARCH_3_1   0x00040000
+#define        PPC_FEATURE2_MMA        0x00020000
 
 #define        PPC_FEATURE_BITMASK                                             
\
        "\20"                                                           \
diff --git a/sys/powerpc/include/spr.h b/sys/powerpc/include/spr.h
index 751a9e8184b6..5bb3858b0fb5 100644
--- a/sys/powerpc/include/spr.h
+++ b/sys/powerpc/include/spr.h
@@ -220,7 +220,9 @@
 #define          IBMPOWER9               0x004e
 #define          MPC860                  0x0050
 #define          IBMCELLBE               0x0070
+#define          IBMPOWER10              0x0080
 #define          MPC8240                 0x0081
+#define          IBMPOWER11              0x0082
 #define          PA6T                    0x0090
 #define          IBM405GP                0x4011
 #define          IBM405L                 0x4161
diff --git a/sys/powerpc/powerpc/cpu.c b/sys/powerpc/powerpc/cpu.c
index 19907e3973e7..f73ed25c8924 100644
--- a/sys/powerpc/powerpc/cpu.c
+++ b/sys/powerpc/powerpc/cpu.c
@@ -192,6 +192,24 @@ static const struct cputab models[] = {
           PPC_FEATURE2_ISEL | PPC_FEATURE2_TAR | PPC_FEATURE2_HAS_VEC_CRYPTO | 
           PPC_FEATURE2_ARCH_3_00 | PPC_FEATURE2_HAS_IEEE128 |
           PPC_FEATURE2_DARN, cpu_powerx_setup },
+        { "IBM POWER10",       IBMPOWER10,     REVFMT_MAJMIN,
+          PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU |
+          PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP | PPC_FEATURE_ARCH_2_05 |
+          PPC_FEATURE_ARCH_2_06 | PPC_FEATURE_HAS_VSX | PPC_FEATURE_TRUE_LE,
+          PPC_FEATURE2_ARCH_2_07 | PPC_FEATURE2_DSCR | PPC_FEATURE2_EBB |
+          PPC_FEATURE2_ISEL | PPC_FEATURE2_TAR | PPC_FEATURE2_HAS_VEC_CRYPTO |
+          PPC_FEATURE2_ARCH_3_00 | PPC_FEATURE2_HAS_IEEE128 |
+          PPC_FEATURE2_DARN | PPC_FEATURE2_ARCH_3_1 | PPC_FEATURE2_MMA,
+          cpu_powerx_setup },
+        { "IBM POWER11",       IBMPOWER11,     REVFMT_MAJMIN,
+          PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU |
+          PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP | PPC_FEATURE_ARCH_2_05 |
+          PPC_FEATURE_ARCH_2_06 | PPC_FEATURE_HAS_VSX | PPC_FEATURE_TRUE_LE,
+          PPC_FEATURE2_ARCH_2_07 | PPC_FEATURE2_DSCR | PPC_FEATURE2_EBB |
+          PPC_FEATURE2_ISEL | PPC_FEATURE2_TAR | PPC_FEATURE2_HAS_VEC_CRYPTO |
+          PPC_FEATURE2_ARCH_3_00 | PPC_FEATURE2_HAS_IEEE128 |
+          PPC_FEATURE2_DARN | PPC_FEATURE2_ARCH_3_1 | PPC_FEATURE2_MMA,
+          cpu_powerx_setup },
         { "Motorola PowerPC 7400",     MPC7400,        REVFMT_MAJMIN,
           PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, 0, cpu_6xx_setup },
         { "Motorola PowerPC 7410",     MPC7410,        REVFMT_MAJMIN,

Reply via email to