mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 17:35:17 +00:00
qemu: validate: Fix logic for validating presence of the HPET timer
Commit 24cc9cda826 switched over to use -machine hpet, but one of the steps it did was to clear the QEMU_CAPS_NO_HPET capability. The validation check still uses the old capability though which means that for configs which would explicitly enable HPET we'd report an error. Since HPET is an x86(_64) platform specific device, convert the validation check to an architecture check as all supported qemu versions actually support it. Modify a test case to request HPET to catch posible future problems. Fixes: 24cc9cda826 Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
9fecdaf1c8
commit
4ee4809907
@ -599,13 +599,13 @@ qemuValidateDomainDefClockTimers(const virDomainDef *def,
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_TIMER_NAME_HPET:
|
||||
/* no hpet timer available. The only possible action
|
||||
is to raise an error if present="yes" */
|
||||
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_NO_HPET) &&
|
||||
timer->present == VIR_TRISTATE_BOOL_YES) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
"%s", _("hpet timer is not supported"));
|
||||
return -1;
|
||||
if (timer->present == VIR_TRISTATE_BOOL_YES) {
|
||||
if (def->os.arch != VIR_ARCH_I686 &&
|
||||
def->os.arch != VIR_ARCH_X86_64) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("hpet timer is not supported by this architecture"));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -23,7 +23,6 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-virt-manager-basic/.config \
|
||||
-mon chardev=charmonitor,id=monitor,mode=control \
|
||||
-rtc base=utc,driftfix=slew \
|
||||
-global kvm-pit.lost_tick_policy=delay \
|
||||
-no-hpet \
|
||||
-no-shutdown \
|
||||
-global ICH9-LPC.disable_s3=1 \
|
||||
-global ICH9-LPC.disable_s4=1 \
|
||||
|
@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-virt-manager-basic/.config \
|
||||
-name guest=virt-manager-basic,debug-threads=on \
|
||||
-S \
|
||||
-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-virt-manager-basic/master-key.aes"}' \
|
||||
-machine q35,usb=off,vmport=off,dump-guest-core=off,memory-backend=pc.ram,hpet=off,acpi=on \
|
||||
-machine q35,usb=off,vmport=off,dump-guest-core=off,memory-backend=pc.ram,hpet=on,acpi=on \
|
||||
-accel kvm \
|
||||
-cpu qemu64 \
|
||||
-m 4096 \
|
||||
|
@ -16,7 +16,7 @@
|
||||
<clock offset='utc'>
|
||||
<timer name='rtc' tickpolicy='catchup'/>
|
||||
<timer name='pit' tickpolicy='delay'/>
|
||||
<timer name='hpet' present='no'/>
|
||||
<timer name='hpet' present='yes'/>
|
||||
</clock>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
|
@ -19,7 +19,7 @@
|
||||
<clock offset='utc'>
|
||||
<timer name='rtc' tickpolicy='catchup'/>
|
||||
<timer name='pit' tickpolicy='delay'/>
|
||||
<timer name='hpet' present='no'/>
|
||||
<timer name='hpet' present='yes'/>
|
||||
</clock>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
|
Loading…
x
Reference in New Issue
Block a user