Identify eMAG CPU used in Ampere Computing systems.

Reviewed by:		emaste@
MFC after:		1 week
Differential Revision:	https://reviews.freebsd.org/D21314
This commit is contained in:
tuexen 2019-08-26 16:12:14 +00:00
parent b31afabd4c
commit 31a2cbb52a
2 changed files with 10 additions and 1 deletions

View File

@ -168,6 +168,12 @@ static const struct cpu_parts cpu_parts_cavium[] = {
CPU_PART_NONE,
};
/* APM / Ampere */
static const struct cpu_parts cpu_parts_apm[] = {
{ CPU_PART_EMAG8180, "eMAG 8180" },
CPU_PART_NONE,
};
/* Unknown */
static const struct cpu_parts cpu_parts_none[] = {
CPU_PART_NONE,
@ -184,7 +190,7 @@ const struct cpu_implementers cpu_implementers[] = {
{ CPU_IMPL_INFINEON, "IFX", cpu_parts_none },
{ CPU_IMPL_FREESCALE, "Freescale", cpu_parts_none },
{ CPU_IMPL_NVIDIA, "NVIDIA", cpu_parts_none },
{ CPU_IMPL_APM, "APM", cpu_parts_none },
{ CPU_IMPL_APM, "APM", cpu_parts_apm },
{ CPU_IMPL_QUALCOMM, "Qualcomm", cpu_parts_none },
{ CPU_IMPL_MARVELL, "Marvell", cpu_parts_none },
{ CPU_IMPL_INTEL, "Intel", cpu_parts_none },

View File

@ -100,6 +100,9 @@
#define CPU_REV_THUNDERX2_0 0x00
/* APM / Ampere Part Number */
#define CPU_PART_EMAG8180 0x000
#define CPU_IMPL(midr) (((midr) >> 24) & 0xff)
#define CPU_PART(midr) (((midr) >> 4) & 0xfff)
#define CPU_VAR(midr) (((midr) >> 20) & 0xf)