[libvirt] [PATCH V1 1/2] cpu: Handle only high order 16 bits of PVR for IBM Power processors

Martin Kletzander mkletzan at redhat.com
Wed Aug 20 03:32:11 UTC 2014


On Tue, Aug 19, 2014 at 11:00:12PM +0530, Pradipta Kr. Banerjee wrote:
>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 and check for the same in cpu_powerpc.c
>

Just an idea, but what if we select the model based on the whole pvr
and only in case none is found, we will fallback to the first one that
has the same high 16 bits?  When we have already power8_v1.0 and
you're adding power8, we will never select the second one in the way
you have implemented it.

>Signed-off-by: Pradipta Kr. Banerjee <bpradip at in.ibm.com>
>---
> src/cpu/cpu_powerpc.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
>diff --git a/src/cpu/cpu_powerpc.c b/src/cpu/cpu_powerpc.c
>index 67cb9ff..18dbc99 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 at redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140820/0d2dd920/attachment-0001.sig>


More information about the libvir-list mailing list