cpu: Handle only high order 16 bits of PVR for IBM Power processors IBM Power processors encode PVR as CPU family in higher 16 bits and a CPU version in lower 16 bits. Since there is no significant change in behavior between versions, there is no point to add every single CPU version in cpu_map.xml Signed-off-by: Pradipta Kr. Banerjee <bpradip@xxxxxxxxxx> --- src/cpu/cpu_map.xml | 22 ++++++++-------------- src/cpu/cpu_powerpc.c | 7 ++++++- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/cpu/cpu_map.xml b/src/cpu/cpu_map.xml index 18c7b0d..f2f13fb 100644 --- a/src/cpu/cpu_map.xml +++ b/src/cpu/cpu_map.xml @@ -602,30 +602,24 @@ <vendor name='IBM'/> <!-- IBM-based CPU models --> - <model name='POWER7'> + <model name='power6'> <vendor name='IBM'/> - <pvr value='0x003f0200'/> + <pvr value='0x003e0000'/> </model> - <model name='POWER7_v2.1'> + <model name='power7'> <vendor name='IBM'/> - <pvr value='0x003f0201'/> + <pvr value='0x003f0000'/> </model> - <model name='POWER7_v2.3'> + <model name='power7+'> <vendor name='IBM'/> - <pvr value='0x003f0203'/> + <pvr value='0x004a0000'/> </model> - <model name='POWER7+_v2.1'> + <model name='power8'> <vendor name='IBM'/> - <pvr value='0x004a0201'/> + <pvr value='0x004b0000'/> </model> - - <model name='POWER8_v1.0'> - <vendor name='IBM'/> - <pvr value='0x004b0100'/> - </model> - </arch> </cpus> diff --git a/src/cpu/cpu_powerpc.c b/src/cpu/cpu_powerpc.c index 67cb9ff..e705bcb 100644 --- a/src/cpu/cpu_powerpc.c +++ b/src/cpu/cpu_powerpc.c @@ -93,7 +93,12 @@ ppcModelFindPVR(const struct ppc_map *map, model = map->models; while (model != NULL) { - if (model->data.pvr == pvr) + /*IBM PowerPC processors encode PVR as CPU family in higher 16 bits and + *a CPU version in lower 16 bits. Since there is no significant change + *in behavior between versions, there is no point to add every single CPU + *version in cpu_map.xml + */ + if ((model->data.pvr & 0xFFFF0000) == (pvr & 0xFFFF0000)) return model; model = model->next; -- 1.9.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list