From nobody Mon Feb 9 11:28:38 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1581086077302407.8568052669027; Fri, 7 Feb 2020 06:34:37 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-158-Uo1d8CwUPoyW_F-fPv06BQ-1; Fri, 07 Feb 2020 09:27:40 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0202D1081FB3; Fri, 7 Feb 2020 14:27:32 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C5CD2863CC; Fri, 7 Feb 2020 14:27:31 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 77740866A3; Fri, 7 Feb 2020 14:27:31 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 017ERIuS004480 for ; Fri, 7 Feb 2020 09:27:18 -0500 Received: by smtp.corp.redhat.com (Postfix) id 92C335C299; Fri, 7 Feb 2020 14:27:18 +0000 (UTC) Received: from kinshicho.usersys.redhat.com (unknown [10.43.2.246]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1B5955C28C for ; Fri, 7 Feb 2020 14:27:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1581086074; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=oYtRVe9UkOmnRFGGiSR1DXbvheQx/1t636BZn29OumI=; b=QJlSf1+U4K2ohXPENZIqZix8MAghO6+2plYe/396tOO24s9Q3HN0HptZCI1OGaCmDhGbYx dGDxlPQSOWjN7u7oQhLJpJRvaTGdLE5BKxJ1KgvCNZSIPlEUBYlCpPVA5GyGII0FHqIEap LWtrGg9QXIev3Gy/ooOXQ0qnDqqdNXw= From: Andrea Bolognani To: libvir-list@redhat.com Subject: [libvirt PATCH v2 3/8] conf: Introduce VIR_DOMAIN_TIMER_NAME_ARMVTIMER Date: Fri, 7 Feb 2020 15:27:03 +0100 Message-Id: <20200207142708.6315-4-abologna@redhat.com> In-Reply-To: <20200207142708.6315-1-abologna@redhat.com> References: <20200207142708.6315-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-MC-Unique: Uo1d8CwUPoyW_F-fPv06BQ-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" 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 Reviewed-by: J=C3=A1n Tomko Reviewed-by: Masayoshi Mizuma --- docs/schemas/domaincommon.rng | 1 + src/conf/domain_conf.c | 1 + src/conf/domain_conf.h | 1 + src/libxl/libxl_conf.c | 1 + src/libxl/xen_common.c | 1 + src/qemu/qemu_command.c | 2 ++ src/qemu/qemu_domain.c | 3 +++ 7 files changed, 10 insertions(+) diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 9577d26c2a..29b6b95357 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -1239,6 +1239,7 @@ hpet pit + armvtimer diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 51ae520897..78d964ed9e 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -1063,6 +1063,7 @@ VIR_ENUM_IMPL(virDomainTimerName, "tsc", "kvmclock", "hypervclock", + "armvtimer", ); =20 VIR_ENUM_IMPL(virDomainTimerTrack, diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 2db3c19473..867a9c7661 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -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, =20 VIR_DOMAIN_TIMER_NAME_LAST } virDomainTimerNameType; diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index ee6b23895c..56deca7b7c 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -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)); diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c index 415549a42c..9a385eba0d 100644 --- a/src/libxl/xen_common.c +++ b/src/libxl/xen_common.c @@ -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.timer= s[i]->name)); diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 52a74c7acf..71ae1f72e5 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -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=3D%lu", timer->fre= quency); 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: diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 1b4825a539..68348464a8 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -5428,6 +5428,9 @@ qemuDomainDefValidateClockTimers(const virDomainDef *= def, return -1; } break; + + case VIR_DOMAIN_TIMER_NAME_ARMVTIMER: + break; } } =20 --=20 2.24.1