Fix /domain/features setting in qemuParseCommandLine

Commit 5e6ce1 moved down detection of the ACPI feature in
qemuParseCommandLine. However, when ACPI is detected, it clears
all feature flags in def->features to only set ACPI. This used to
be fine because this was the first place were def->features was set,
but after the move this is no longer necessarily true because this
block comes before the ACPI check:

if (strstr(def->emulator, "kvm")) {
    def->virtType = VIR_DOMAIN_VIRT_KVM;
    def->features |= (1 << VIR_DOMAIN_FEATURE_PAE);
}

Since def is allocated in qemuParseCommandLine using VIR_ALLOC, we
can always use |= when modifying def->features
This commit is contained in:
Christophe Fergeau 2012-07-10 12:02:10 +02:00
parent 0867a87721
commit 626dd5180e
2 changed files with 4 additions and 1 deletions

View File

@ -7553,7 +7553,7 @@ virDomainDefPtr qemuParseCommandLine(virCapsPtr caps,
goto no_memory;
if (STREQ(def->os.arch, "i686")||STREQ(def->os.arch, "x86_64"))
def->features = (1 << VIR_DOMAIN_FEATURE_ACPI)
def->features |= (1 << VIR_DOMAIN_FEATURE_ACPI)
/*| (1 << VIR_DOMAIN_FEATURE_APIC)*/;
#define WANT_VALUE() \
const char *val = progargv[++i]; \

View File

@ -8,6 +8,9 @@
<type arch='i686' machine='pc'>hvm</type>
<boot dev='network'/>
</os>
<features>
<pae/>
</features>
<clock offset='utc'>
<timer name='kvmclock' present='no'/>
</clock>