Hi Eduardo,
At 05/30/2018 11:55 PM, Eduardo Habkost wrote:
CCing Jiri Denemark, who maintains the CPU code in libvirt.
Thanks, Jirka. he has already given me a detailed explanation. ;-)
On Wed, May 30, 2018 at 06:00:56PM +0800, Dou Liyang wrote:
> Hi All,
>
> I am not sure about the update strategy of CPU models in libvirt.
>
> IMO, It's depend on the CPU model in qemu-kvm, if some CPU models
> were updated in qemu-kvm. Then, we should modify the src/cpu/cpu_map.xml
> of libvirt to synchronize?
>
> eg:
>
> commit cad8054ece28("cpu: Add cpu definition for Intel Sandy Bridge
> cpu type") in libvirt upstream.
>
>
https://bugzilla.redhat.com/show_bug.cgi?id=761005
>
> If it's right, I found this commit b3a4f0b1a072("target-i386: add VME to
> all CPUs") updated the VME feature in qemu upstream. But in the src/cpu
> /cpu_map.xml of libvirt, It didn't be updated.
>
> eg:
> For the SandyBridge CPU,
>
> - In QEmu, it has the 'vme' feature defined by CPUID_VME
>
> - In libvirt, it doesn't has the 'vme' in cpu_map.xml file.
>
> Why?
I don't know the specifics, but I think libvirt can't change CPU
models in cpu_map.xml. However, this shouldn't be a problem:
I see, Jirka also told me that.
libvirt should use "-cpu SandyBridge" and users should
still
benefit from the updated CPU definition in QEMU.
The main question that I'm still unable to answer is: when
cpu_map.xml is still used? Does it affect libvirt behavior in
I tried to find, but I don't know, The call stack in libvirt upstream
shows below
cpu_map.xml <-- cpuMapLoad() <-- virCPUx86LoadMap() <--
virCPUx86DriverOnceInit()
I even don't find where virCPUx86DriverOnceInit() is used and where is
the definition of virCPUx86DriverInitialize(). :-(
Thanks,
dou
any way when using a recent QEMU version? Is the file considered
part of the libvirt API?