[PATCH 0/2] cpu_map: arm: Add AmpereOne CPU models

Jiri Denemark (2): cpu_arm: Report vendor ID for unknown PVRs cpu_map: arm: Add AmpereOne CPU models src/cpu/cpu_arm.c | 6 ++++-- src/cpu_map/arm_Ampere-1.xml | 6 ++++++ src/cpu_map/arm_Ampere-1a.xml | 6 ++++++ src/cpu_map/arm_vendors.xml | 1 + src/cpu_map/index.xml | 5 +++++ 5 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 src/cpu_map/arm_Ampere-1.xml create mode 100644 src/cpu_map/arm_Ampere-1a.xml -- 2.48.1

Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/cpu/cpu_arm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cpu/cpu_arm.c b/src/cpu/cpu_arm.c index 7a9c8163c8..8e6e11dc57 100644 --- a/src/cpu/cpu_arm.c +++ b/src/cpu/cpu_arm.c @@ -604,6 +604,8 @@ virCPUarmCpuDataFromRegs(virCPUarmData *data) /* parse the corresponding vendor_id bits */ data->vendor_id = (cpuid >> 24) & 0xff; + VIR_DEBUG("CPU vendor 0x%02llx, pvr 0x%03llx", data->vendor_id, data->pvr); + features = g_new0(char *, MAX_CPU_FLAGS + 1); /* shift bit map mask to parse for CPU flags */ @@ -635,8 +637,8 @@ virCPUarmDecode(virCPUDef *cpu, if (!(model = virCPUarmModelFindByPVR(map, cpuData->pvr))) { virReportError(VIR_ERR_OPERATION_FAILED, - _("Cannot find CPU model with PVR 0x%1$03llx"), - cpuData->pvr); + _("Cannot find CPU model with PVR 0x%1$03llx, vendor id 0x%2$02llx"), + cpuData->pvr, cpuData->vendor_id); return -1; } -- 2.48.1

Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/cpu_map/arm_Ampere-1.xml | 6 ++++++ src/cpu_map/arm_Ampere-1a.xml | 6 ++++++ src/cpu_map/arm_vendors.xml | 1 + src/cpu_map/index.xml | 5 +++++ 4 files changed, 18 insertions(+) create mode 100644 src/cpu_map/arm_Ampere-1.xml create mode 100644 src/cpu_map/arm_Ampere-1a.xml diff --git a/src/cpu_map/arm_Ampere-1.xml b/src/cpu_map/arm_Ampere-1.xml new file mode 100644 index 0000000000..001439345d --- /dev/null +++ b/src/cpu_map/arm_Ampere-1.xml @@ -0,0 +1,6 @@ +<cpus> + <model name='Ampere-1'> + <vendor name='Ampere'/> + <pvr value='0xac3'/> + </model> +</cpus> diff --git a/src/cpu_map/arm_Ampere-1a.xml b/src/cpu_map/arm_Ampere-1a.xml new file mode 100644 index 0000000000..3f6d5c4d97 --- /dev/null +++ b/src/cpu_map/arm_Ampere-1a.xml @@ -0,0 +1,6 @@ +<cpus> + <model name='Ampere-1a'> + <vendor name='Ampere'/> + <pvr value='0xac4'/> + </model> +</cpus> diff --git a/src/cpu_map/arm_vendors.xml b/src/cpu_map/arm_vendors.xml index 92d10565f4..3bbaf35ab7 100644 --- a/src/cpu_map/arm_vendors.xml +++ b/src/cpu_map/arm_vendors.xml @@ -13,4 +13,5 @@ <vendor name='Marvell' value='0x56'/> <vendor name='Intel' value='0x69'/> <vendor name='Phytium' value='0x70'/> + <vendor name='Ampere' value='0xc0'/> </cpus> diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index dba2f21811..87db338cee 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -222,5 +222,10 @@ <include filename='arm_FT-2000plus.xml'/> <include filename='arm_Tengyun-S2500.xml'/> </group> + + <group name='Ampere-based CPU models'> + <include filename='arm_Ampere-1.xml'/> + <include filename='arm_Ampere-1a.xml'/> + </group> </arch> </cpus> -- 2.48.1

On 2/26/25 13:40, Jiri Denemark wrote:
Jiri Denemark (2): cpu_arm: Report vendor ID for unknown PVRs cpu_map: arm: Add AmpereOne CPU models
src/cpu/cpu_arm.c | 6 ++++-- src/cpu_map/arm_Ampere-1.xml | 6 ++++++ src/cpu_map/arm_Ampere-1a.xml | 6 ++++++ src/cpu_map/arm_vendors.xml | 1 + src/cpu_map/index.xml | 5 +++++ 5 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 src/cpu_map/arm_Ampere-1.xml create mode 100644 src/cpu_map/arm_Ampere-1a.xml
Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal
participants (2)
-
Jiri Denemark
-
Michal Prívozník