git: 1e434da3b065 - main - powerpc: Add nominal support for POWER10 and POWER11
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 11 Oct 2024 21:17:56 UTC
The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=1e434da3b065ef96b389e5e0b604ae05a51e794e commit 1e434da3b065ef96b389e5e0b604ae05a51e794e Author: Justin Hibbits <jhibbits@FreeBSD.org> AuthorDate: 2024-10-11 21:03:12 +0000 Commit: Justin Hibbits <jhibbits@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,