On 08/27/2013 03:39 PM, Daniel P. Berrange wrote:
> On Thu, Aug 15, 2013 at 01:30:21PM +0200, Ján Tomko wrote:
>> QEMU commit 3984890 introduced the "pci-hole64-size" property,
>> to i440FX-pcihost and q35-pcihost with a default setting of 2 GB.
>>
>> Translate <pcihole64>x<pcihole64/> to:
>> -global q35-pcihost.pci-hole64-size=x for q35 machines and
>> -global i440FX-pcihost.pci-hole64-size=x for i440FX-based machines.
>>
>> Error out on other machine types or if the size was specified
>> but the pcihost device lacks 'pci-hole64-size' property.
>>
>>
https://bugzilla.redhat.com/show_bug.cgi?id=990418
>> ---
>> src/qemu/qemu_capabilities.c | 14 ++++++
>> src/qemu/qemu_capabilities.h | 2 +
>> src/qemu/qemu_command.c | 58 ++++++++++++++++++++++
>> .../qemuxml2argv-pcihole64-none.args | 4 ++
>> .../qemuxml2argv-pcihole64-q35.args | 9 ++++
>> tests/qemuxml2argvdata/qemuxml2argv-pcihole64.args | 5 ++
>> tests/qemuxml2argvtest.c | 10 ++++
>> 7 files changed, 102 insertions(+)
>> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pcihole64-none.args
>> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pcihole64-q35.args
>> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pcihole64.args
>
>
>> + for (i = 0; i < def->ncontrollers; i++) {
>> + virDomainControllerDefPtr cont = def->controllers[i];
>> + if (cont->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI &&
>> + cont->opts.pciopts.pcihole64) {
>
> Hmm, by doing 'if (cont->opts.pciopts.pcihole64)' we loose the ability
> to set pcihole64=0, to completely disable the PCI hole. Is this something
> we need to worry about ? If so, then we'll need a way to distinguish a
> hole value of 0, from the "no attribute set" scenario.
>
pciopts.pcihole64 is a bool meaning "the attribute is set", the size is stored
in pciopts.pcihole64size.
Oh, whoops, I missed that. ACK in that case.
Daniel
--
|: