On 08/20/2014 09:02 AM, Martin Kletzander wrote:
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.
Actually none of the model_vX.X are required. Only base
processor versions are
required. Should I send a V2 with those changes ?
Additionally PowerKVM doesn't support specifying cpu model for guests (qemu
cmdline: -cpu <MODEL>). The only way possible is to use qemu compat mode (qemu
cmdline: -cpu host,compat=model) support of which is yet to be added in libvirt.
The only supported models in compat modes are power6,power7,power8.
There was an RFC posted on the same -
https://www.redhat.com/archives/libvir-list/2014-June/msg01338.html
Please let me know your thoughts.
> Signed-off-by: Pradipta Kr. Banerjee <bpradip(a)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(a)redhat.com
>
https://www.redhat.com/mailman/listinfo/libvir-list
--
libvir-list mailing list
libvir-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
--
Regards,
Pradipta Kumar B(bpradip(a)in.ibm.com)
IBM Systems & Technology Labs,
India.