Commit 6b601b7 (libvirt: Allow to specify granular CPU feature flags)
added support for allowing to specify individual CPU feature flags, but
restricted the options only to "PCID" (refer to its commit message for
why).
In this change we lift the restriction of choices, and allow to specify
multiple CPU feature flags for all three CPU modes for the libvirt
driver: 'custom', 'host-model', and 'host-passthrough'.
For example:
[libvirt]
cpu_mode = custom
cpu_model = IvyBridge
cpu_model_extra_flags = pcid, vmx, pdpe1gb
This will allow additional use cases such as:
- Ability to use 1GB huge pages with models that don't provide it
(such as Intel "Haswell" variants) as one use case for extra flags:
cpu_mode = custom
cpu_model = Haswell-noTSX-IBRS
cpu_model_extra_flags = pdpe1gb
- Nested Virtualization -- an operator can specify the Intel 'vmx' (or
AMD 'svm') flags for the level-1 Nova guest CPU models. (Assuming
the 'nested' flag is enabled on the level-0 / bare-metal kernel.)
(A future Nova patch will also allow ability to remove CPU flags.)
Change-Id: I9a862619f379057bb48cb85a84dfc50d763030a6
Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
BluePrint: libvirt-cpu-model-extra-flags