VIR_ENUM_IMPL(virDomainTimerMode,
VIR_DOMAIN_TIMER_MODE_LAST,
+ "none",
"auto",
"native",
"emulate",
return -1;
}
- if (timer->mode != -1) {
+ if (timer->mode) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("timer %s doesn't support setting of "
"timer mode"),
goto error;
}
- def->mode = -1;
mode = virXMLPropString(node, "mode");
if (mode != NULL) {
- if ((def->mode = virDomainTimerModeTypeFromString(mode)) < 0) {
+ if ((def->mode = virDomainTimerModeTypeFromString(mode)) <= 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown timer mode '%s'"), mode);
goto error;
if (def->frequency > 0)
virBufferAsprintf(buf, " frequency='%llu'", def->frequency);
- if (def->mode != -1) {
- const char *mode
- = virDomainTimerModeTypeToString(def->mode);
- if (!mode) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("unexpected timer mode %d"),
- def->mode);
- return -1;
- }
- virBufferAsprintf(buf, " mode='%s'", mode);
+ if (def->mode) {
+ virBufferAsprintf(buf, " mode='%s'",
+ virDomainTimerModeTypeToString(def->mode));
}
}
} virDomainTimerTickpolicyType;
typedef enum {
- VIR_DOMAIN_TIMER_MODE_AUTO = 0,
+ VIR_DOMAIN_TIMER_MODE_NONE = 0,
+ VIR_DOMAIN_TIMER_MODE_AUTO,
VIR_DOMAIN_TIMER_MODE_NATIVE,
VIR_DOMAIN_TIMER_MODE_EMULATE,
VIR_DOMAIN_TIMER_MODE_PARAVIRT,
/* frequency & mode are only valid for name='tsc' */
unsigned long long frequency; /* in Hz, unspecified = 0 */
- int mode; /* auto|native|emulate|paravirt */
+ int mode; /* enum virDomainTimerModeType */
};
typedef enum {
timer->name = VIR_DOMAIN_TIMER_NAME_HPET;
timer->present = virTristateBoolFromBool(val);
timer->tickpolicy = VIR_DOMAIN_TIMER_TICKPOLICY_NONE;
- timer->mode = -1;
+ timer->mode = VIR_DOMAIN_TIMER_MODE_NONE;
timer->track = VIR_DOMAIN_TIMER_TRACK_NONE;
def->clock.timers[def->clock.ntimers - 1] = timer;