[libvirt] [PATCH] Take disabled/forced CPU features into account

Daniel P. Berrange berrange at redhat.com
Tue Jan 12 20:26:53 UTC 2010


On Tue, Jan 12, 2010 at 03:25:50PM +0100, Jiri Denemark wrote:
> When comparing x86 CPUs, features with 'disabled' policy were mistakenly
> required to be supported by the host CPU.
> 
> Likewise, features with 'force' policy which were supported by host CPU
> would make CPUs incompatible if 'strict' match was used by guest CPU.
> 
> This patch fixes both issues.
> 
> Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> ---
>  src/cpu/cpu_x86.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
> index 50c03ad..298b632 100644
> --- a/src/cpu/cpu_x86.c
> +++ b/src/cpu/cpu_x86.c
> @@ -782,11 +782,14 @@ x86Compute(virCPUDefPtr host,
>      if (!(cpu_forbid = x86ModelFromCPU(cpu, map, VIR_CPU_FEATURE_FORBID)))
>          goto error;
>  
> +    x86ModelSubtract(cpu_require, cpu_disable);
> +
>      if ((diff = x86ModelCopy(host_model)) == NULL)
>          goto no_memory;
>  
>      x86ModelSubtract(diff, cpu_require);
>      x86ModelSubtract(diff, cpu_optional);
> +    x86ModelSubtract(diff, cpu_force);
>  
>      for (i = 0; i < cpu_forbid->ncpuid; i++) {
>          const struct cpuX86cpuid *cpuid1;

ACK

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list