
On Wed, Jul 12, 2017 at 15:14:20 +0200, Pavel Hrdina wrote:
On Wed, Jul 12, 2017 at 02:56:48PM +0200, Jiri Denemark wrote:
Separated from qemuProcessUpdateLiveGuestCPU. The function makes sure a guest CPU provides all features required by a domain definition.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_process.c | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index b2d27b6be..198f68d93 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -3986,6 +3986,31 @@ qemuProcessFetchGuestCPU(virQEMUDriverPtr driver,
static int +qemuProcessVerifyCPU(virDomainObjPtr vm, + virCPUDataPtr cpu) +{ + virDomainDefPtr def = vm->def; + + if (!cpu) + return 0; + + if (qemuProcessVerifyKVMFeatures(def, cpu) < 0 || + qemuProcessVerifyHypervFeatures(def, cpu) < 0) + return -1; + + if (!def->cpu || + (def->cpu->mode == VIR_CPU_MODE_CUSTOM && + !def->cpu->model))
This condition is now on two places, it would be worth to create a macro/function with some description why this specific condition.
Oh yeah, good idea. This condition is very likely repeated in a lot of places which need to check whether the CPU def contains only topology data. I'll try to come up with a good name for the function and make a patch replacing all open coded conditions with it. Jirka