Add CPU Ident for Qualcomm Kryo 400 (used in MS Dev Kit)

Reviewed by:	imp
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D37767
This commit is contained in:
Allan Jude 2022-12-20 21:31:38 +00:00
parent 5faf9f4dff
commit fd5e921059
2 changed files with 14 additions and 1 deletions

View File

@ -199,6 +199,7 @@ static const struct cpu_parts cpu_parts_arm[] = {
{ CPU_PART_NEOVERSE_N1, "Neoverse-N1" },
{ CPU_PART_NEOVERSE_N2, "Neoverse-N2" },
{ CPU_PART_NEOVERSE_V1, "Neoverse-V1" },
{ CPU_PART_NEOVERSE_V2, "Neoverse-V2" },
CPU_PART_NONE,
};
@ -215,6 +216,13 @@ static const struct cpu_parts cpu_parts_apm[] = {
CPU_PART_NONE,
};
/* Qualcomm */
static const struct cpu_parts cpu_parts_qcom[] = {
{ CPU_PART_KRYO400_GOLD, "Kryo 400 Gold" },
{ CPU_PART_KRYO400_SILVER, "Kryo 400 Silver" },
CPU_PART_NONE,
};
/* Unknown */
static const struct cpu_parts cpu_parts_none[] = {
CPU_PART_NONE,
@ -237,7 +245,7 @@ const struct cpu_implementers cpu_implementers[] = {
{ CPU_IMPL_INTEL, "Intel", cpu_parts_none },
{ CPU_IMPL_MARVELL, "Marvell", cpu_parts_none },
{ CPU_IMPL_NVIDIA, "NVIDIA", cpu_parts_none },
{ CPU_IMPL_QUALCOMM, "Qualcomm", cpu_parts_none },
{ CPU_IMPL_QUALCOMM, "Qualcomm", cpu_parts_qcom },
CPU_IMPLEMENTER_NONE,
};

View File

@ -111,6 +111,7 @@
#define CPU_PART_CORTEX_X1C 0xD4C
#define CPU_PART_CORTEX_A715 0xD4D
#define CPU_PART_CORTEX_X3 0xD4E
#define CPU_PART_NEOVERSE_V2 0xD4F
/* Cavium Part numbers */
#define CPU_PART_THUNDERX 0x0A1
@ -126,6 +127,10 @@
/* APM / Ampere Part Number */
#define CPU_PART_EMAG8180 0x000
/* Qualcomm */
#define CPU_PART_KRYO400_GOLD 0x804
#define CPU_PART_KRYO400_SILVER 0x805
#define CPU_IMPL(midr) (((midr) >> 24) & 0xff)
#define CPU_PART(midr) (((midr) >> 4) & 0xfff)
#define CPU_VAR(midr) (((midr) >> 20) & 0xf)