mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 19:32:19 +00:00
conf: Introduce VIR_DOMAIN_TIMER_NAME_ARMVTIMER
This new timer model will be used to control the behavior of the virtual timer for KVM ARM/virt guests. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
204e2306e5
commit
3809e88a87
@ -1239,6 +1239,7 @@
|
||||
<choice>
|
||||
<value>hpet</value>
|
||||
<value>pit</value>
|
||||
<value>armvtimer</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<optional>
|
||||
|
@ -1063,6 +1063,7 @@ VIR_ENUM_IMPL(virDomainTimerName,
|
||||
"tsc",
|
||||
"kvmclock",
|
||||
"hypervclock",
|
||||
"armvtimer",
|
||||
);
|
||||
|
||||
VIR_ENUM_IMPL(virDomainTimerTrack,
|
||||
|
@ -1993,6 +1993,7 @@ typedef enum {
|
||||
VIR_DOMAIN_TIMER_NAME_TSC,
|
||||
VIR_DOMAIN_TIMER_NAME_KVMCLOCK,
|
||||
VIR_DOMAIN_TIMER_NAME_HYPERVCLOCK,
|
||||
VIR_DOMAIN_TIMER_NAME_ARMVTIMER,
|
||||
|
||||
VIR_DOMAIN_TIMER_NAME_LAST
|
||||
} virDomainTimerNameType;
|
||||
|
@ -359,6 +359,7 @@ libxlMakeDomBuildInfo(virDomainDefPtr def,
|
||||
case VIR_DOMAIN_TIMER_NAME_HYPERVCLOCK:
|
||||
case VIR_DOMAIN_TIMER_NAME_RTC:
|
||||
case VIR_DOMAIN_TIMER_NAME_PIT:
|
||||
case VIR_DOMAIN_TIMER_NAME_ARMVTIMER:
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("unsupported timer type (name) '%s'"),
|
||||
virDomainTimerNameTypeToString(clock.timers[i]->name));
|
||||
|
@ -2182,6 +2182,7 @@ xenFormatCPUFeatures(virConfPtr conf, virDomainDefPtr def)
|
||||
case VIR_DOMAIN_TIMER_NAME_HYPERVCLOCK:
|
||||
case VIR_DOMAIN_TIMER_NAME_RTC:
|
||||
case VIR_DOMAIN_TIMER_NAME_PIT:
|
||||
case VIR_DOMAIN_TIMER_NAME_ARMVTIMER:
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("unsupported timer type (name) '%s'"),
|
||||
virDomainTimerNameTypeToString(def->clock.timers[i]->name));
|
||||
|
@ -6199,6 +6199,7 @@ qemuBuildClockCommandLine(virCommandPtr cmd,
|
||||
case VIR_DOMAIN_TIMER_NAME_TSC:
|
||||
case VIR_DOMAIN_TIMER_NAME_KVMCLOCK:
|
||||
case VIR_DOMAIN_TIMER_NAME_HYPERVCLOCK:
|
||||
case VIR_DOMAIN_TIMER_NAME_ARMVTIMER:
|
||||
/* Timers above are handled when building -cpu. */
|
||||
case VIR_DOMAIN_TIMER_NAME_LAST:
|
||||
break;
|
||||
@ -6609,6 +6610,7 @@ qemuBuildCpuCommandLine(virCommandPtr cmd,
|
||||
if (timer->frequency > 0)
|
||||
virBufferAsprintf(&buf, ",tsc-frequency=%lu", timer->frequency);
|
||||
break;
|
||||
case VIR_DOMAIN_TIMER_NAME_ARMVTIMER:
|
||||
case VIR_DOMAIN_TIMER_NAME_PLATFORM:
|
||||
case VIR_DOMAIN_TIMER_NAME_PIT:
|
||||
case VIR_DOMAIN_TIMER_NAME_RTC:
|
||||
|
@ -5428,6 +5428,9 @@ qemuDomainDefValidateClockTimers(const virDomainDef *def,
|
||||
return -1;
|
||||
}
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_TIMER_NAME_ARMVTIMER:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user