From nobody Sun Feb 8 12:37:48 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.74 as permitted sender) client-ip=216.205.24.74; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-74.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.74 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1585258352; cv=none; d=zohomail.com; s=zohoarc; b=G67u49/rpq0BKeRqYPoI+j3NvZYrq4fC0DW4+Y1mB/h9yupSNTJwN9iy/ZTKve3aUcscRoaRaks3JCNrsbkAMp04d59Y6Ox7nsASWq2rdsc5HUB9tQfq+o2AdJI/7KW5PNHbsA7j+A/SArei66u7GACWlXE5qSD6AVS0VZiQzg4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585258352; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ub57j/OYO/lmXfVE3NxYuclHkl3419OKGfjuMgo2h48=; b=H222Z6xhudWbmcxruhB6ti8QlP24p5JP3qUjUgCSrtmCn0G5lkfP1AEZXCYBKtFt1tla575C6/C9tal0ecVS+h1MtuHIeWbn2yo59kfGQ8y5RUWqcta54WeBDsRX6frIeMNoRgLQbksEQO6GBBb3kbm+6Oop+zVWSi9BfA3ny8s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.74 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-74.mimecast.com (us-smtp-delivery-74.mimecast.com [216.205.24.74]) by mx.zohomail.com with SMTPS id 1585258352886895.3131878356979; Thu, 26 Mar 2020 14:32:32 -0700 (PDT) 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-37-acNVd9PFMw6KiUlA_sk28g-1; Thu, 26 Mar 2020 17:32:29 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 366328010E8; Thu, 26 Mar 2020 21:32:23 +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 0465096F81; Thu, 26 Mar 2020 21:32:23 +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 A7BC08A03F; Thu, 26 Mar 2020 21:32:22 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 02QLWEXX010361 for ; Thu, 26 Mar 2020 17:32:14 -0400 Received: by smtp.corp.redhat.com (Postfix) id 95D3C2166B2C; Thu, 26 Mar 2020 21:32:14 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast01.extmail.prod.ext.rdu2.redhat.com [10.11.55.17]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 91A932166B2B for ; Thu, 26 Mar 2020 21:32:12 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D8EC48F783B for ; Thu, 26 Mar 2020 21:32:11 +0000 (UTC) Received: from mail-qk1-f174.google.com (mail-qk1-f174.google.com [209.85.222.174]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-439-1talif_6OxaAPU0co5T34A-1; Thu, 26 Mar 2020 17:32:09 -0400 Received: by mail-qk1-f174.google.com with SMTP id u4so8629642qkj.13; Thu, 26 Mar 2020 14:32:08 -0700 (PDT) Received: from rekt.redhat.com ([2804:431:c7c6:e1ce:90c:c960:468:c347]) by smtp.gmail.com with ESMTPSA id x37sm2357719qtc.90.2020.03.26.14.32.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Mar 2020 14:32:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1585258351; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=ub57j/OYO/lmXfVE3NxYuclHkl3419OKGfjuMgo2h48=; b=bsijdfkvTSfCokgxW5duhojv75tVo/g8ONkBRso/KVBe2xO28Up/IaDE2bmgg0mvxJ0yen hwRN86GUFObHOoxV8jsDm1RD1sBdka0KnS3fHoqS8VMsjWxdLUynsDdkj/+gSODudMKscu WCo8LnQIlzCCjNYBFa8wuiffqbGD6uE= X-MC-Unique: acNVd9PFMw6KiUlA_sk28g-1 X-MC-Unique: 1talif_6OxaAPU0co5T34A-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UNidP6kAzKEGsa9Y7D66S50vLFDvJtX+VI+dTF6PN/g=; b=qeYNXiD1ihkO8nnhhaFIrIpW9Hp4kldSPzD8e2y3+lWQTrkIq9CTM1J91AosGxYC/4 OoTXou4B7yP26X52aCWuvmrZo3elvLk3oH8CzlpF9QTZqnmibh08O8LS6E9m2JbmoUuk SZ/hFUoek6Biab06i/1C+n//2CUTze3DwtLQkQs8PVGsTdcr3HTy+dG9yktydQAVeDWg ng9QvbauWZIpyCK9hsw/sABvDkrZT734sU6vY3pHujz3Ub4JQWBotfS4Xti3zoo/KNtd vqtZeY+3hmxWaFGBs5abmxHf6ItwC7AvP/vW7rC49M8gsQgxmjQci8U52uqBrdQR9Pvv 3G5Q== X-Gm-Message-State: ANhLgQ1lz+APxiDZHvVfJf/4YioNowUcqIdGjQk5baNJ44xkyw3+p3WW f3+dDSJGns1LBvjg/o2Myu0K0Sz/ X-Google-Smtp-Source: ADFU+vvnB90qPKrJLRZquVVYC/e6H1A8cDaH9robPUb+wHokPQqDwXXjhp5HQh9CDBcHmpsJpEFzGQ== X-Received: by 2002:a37:7d5:: with SMTP id 204mr11005065qkh.171.1585258328037; Thu, 26 Mar 2020 14:32:08 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH 15/15] qemu: move qemuValidateDomainDeviceDef() to qemu_validate.c Date: Thu, 26 Mar 2020 18:31:25 -0300 Message-Id: <20200326213125.2306013-16-danielhb413@gmail.com> In-Reply-To: <20200326213125.2306013-1-danielhb413@gmail.com> References: <20200326213125.2306013-1-danielhb413@gmail.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-MIME-Autoconverted: from quoted-printable to 8bit by lists01.pubmisc.prod.ext.phx2.redhat.com id 02QLWEXX010361 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza , pkrempa@redhat.com, crobinso@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.13 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" Now that all its helper functions are in qemu_validate.c, we can move the function itself. The helpers can become static again since they're all in the same file. Signed-off-by: Daniel Henrique Barboza Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_domain.c | 128 +---------------------------- src/qemu/qemu_validate.c | 168 ++++++++++++++++++++++++++++++++++----- src/qemu/qemu_validate.h | 57 +------------ 3 files changed, 151 insertions(+), 202 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 3ab2bfe879..76ef0c531f 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -5278,132 +5278,6 @@ qemuDomainValidateStorageSource(virStorageSourcePtr= src, } =20 =20 -static int -qemuDomainDeviceDefValidate(const virDomainDeviceDef *dev, - const virDomainDef *def, - void *opaque) -{ - int ret =3D 0; - virQEMUDriverPtr driver =3D opaque; - g_autoptr(virQEMUCaps) qemuCaps =3D NULL; - g_autoptr(virDomainCaps) domCaps =3D NULL; - - if (!(qemuCaps =3D virQEMUCapsCacheLookup(driver->qemuCapsCache, - def->emulator))) - return -1; - - if (!(domCaps =3D virQEMUDriverGetDomainCapabilities(driver, qemuCaps, - def->os.machine, - def->os.arch, - def->virtType))) - return -1; - - if ((ret =3D qemuValidateDomainDeviceDefAddress(dev, qemuCaps)) < 0) - return ret; - - if ((ret =3D virDomainCapsDeviceDefValidate(domCaps, dev, def)) < 0) - return ret; - - switch ((virDomainDeviceType)dev->type) { - case VIR_DOMAIN_DEVICE_NET: - ret =3D qemuValidateDomainDeviceDefNetwork(dev->data.net, qemuCaps= ); - break; - - case VIR_DOMAIN_DEVICE_CHR: - ret =3D qemuValidateDomainChrDef(dev->data.chr, def, qemuCaps); - break; - - case VIR_DOMAIN_DEVICE_SMARTCARD: - ret =3D qemuValidateDomainSmartcardDef(dev->data.smartcard, qemuCa= ps); - break; - - case VIR_DOMAIN_DEVICE_RNG: - ret =3D qemuValidateDomainRNGDef(dev->data.rng, qemuCaps); - break; - - case VIR_DOMAIN_DEVICE_REDIRDEV: - ret =3D qemuValidateDomainRedirdevDef(dev->data.redirdev, qemuCaps= ); - break; - - case VIR_DOMAIN_DEVICE_WATCHDOG: - ret =3D qemuValidateDomainWatchdogDef(dev->data.watchdog, def); - break; - - case VIR_DOMAIN_DEVICE_HOSTDEV: - ret =3D qemuValidateDomainDeviceDefHostdev(dev->data.hostdev, def, - qemuCaps); - break; - - case VIR_DOMAIN_DEVICE_VIDEO: - ret =3D qemuValidateDomainDeviceDefVideo(dev->data.video, qemuCaps= ); - break; - - case VIR_DOMAIN_DEVICE_DISK: - ret =3D qemuValidateDomainDeviceDefDisk(dev->data.disk, qemuCaps); - break; - - case VIR_DOMAIN_DEVICE_CONTROLLER: - ret =3D qemuValidateDomainDeviceDefController(dev->data.controller= , def, - qemuCaps); - break; - - case VIR_DOMAIN_DEVICE_VSOCK: - ret =3D qemuValidateDomainDeviceDefVsock(dev->data.vsock, def, qem= uCaps); - break; - - case VIR_DOMAIN_DEVICE_TPM: - ret =3D qemuValidateDomainDeviceDefTPM(dev->data.tpm, def, qemuCap= s); - break; - - case VIR_DOMAIN_DEVICE_GRAPHICS: - ret =3D qemuValidateDomainDeviceDefGraphics(dev->data.graphics, de= f, - driver, qemuCaps); - break; - - case VIR_DOMAIN_DEVICE_INPUT: - ret =3D qemuValidateDomainDeviceDefInput(dev->data.input, def, qem= uCaps); - break; - - case VIR_DOMAIN_DEVICE_MEMBALLOON: - ret =3D qemuValidateDomainDeviceDefMemballoon(dev->data.memballoon= , qemuCaps); - break; - - case VIR_DOMAIN_DEVICE_IOMMU: - ret =3D qemuValidateDomainDeviceDefIOMMU(dev->data.iommu, def, qem= uCaps); - break; - - case VIR_DOMAIN_DEVICE_FS: - ret =3D qemuValidateDomainDeviceDefFS(dev->data.fs, def, driver, q= emuCaps); - break; - - case VIR_DOMAIN_DEVICE_NVRAM: - ret =3D qemuValidateDomainDeviceDefNVRAM(dev->data.nvram, def, qem= uCaps); - break; - - case VIR_DOMAIN_DEVICE_HUB: - ret =3D qemuValidateDomainDeviceDefHub(dev->data.hub, qemuCaps); - break; - - case VIR_DOMAIN_DEVICE_SOUND: - ret =3D qemuValidateDomainDeviceDefSound(dev->data.sound, qemuCaps= ); - break; - - case VIR_DOMAIN_DEVICE_MEMORY: - ret =3D qemuValidateDomainDeviceDefMemory(dev->data.memory, qemuCa= ps); - break; - - case VIR_DOMAIN_DEVICE_LEASE: - case VIR_DOMAIN_DEVICE_SHMEM: - case VIR_DOMAIN_DEVICE_PANIC: - case VIR_DOMAIN_DEVICE_NONE: - case VIR_DOMAIN_DEVICE_LAST: - break; - } - - return ret; -} - - /** * qemuDomainDefaultNetModel: * @def: domain definition @@ -6153,7 +6027,7 @@ virDomainDefParserConfig virQEMUDriverDomainDefParser= Config =3D { .domainPostParseCallback =3D qemuDomainDefPostParse, .assignAddressesCallback =3D qemuDomainDefAssignAddresses, .domainValidateCallback =3D qemuValidateDomainDef, - .deviceValidateCallback =3D qemuDomainDeviceDefValidate, + .deviceValidateCallback =3D qemuValidateDomainDeviceDef, =20 .features =3D VIR_DOMAIN_DEF_FEATURE_MEMORY_HOTPLUG | VIR_DOMAIN_DEF_FEATURE_OFFLINE_VCPUPIN | diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 6c772093de..e059ad79e1 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -963,7 +963,7 @@ qemuValidateDomainDeviceDefZPCIAddress(virDomainDeviceI= nfoPtr info, } =20 =20 -int +static int qemuValidateDomainDeviceDefAddress(const virDomainDeviceDef *dev, virQEMUCapsPtr qemuCaps) { @@ -1043,7 +1043,7 @@ qemuValidateNetSupportsCoalesce(virDomainNetType type) } =20 =20 -int +static int qemuValidateDomainDeviceDefNetwork(const virDomainNetDef *net, virQEMUCapsPtr qemuCaps) { @@ -1360,7 +1360,7 @@ qemuValidateDomainChrSourceDef(const virDomainChrSour= ceDef *def, } =20 =20 -int +static int qemuValidateDomainChrDef(const virDomainChrDef *dev, const virDomainDef *def, virQEMUCapsPtr qemuCaps) @@ -1420,7 +1420,7 @@ qemuValidateDomainChrDef(const virDomainChrDef *dev, } =20 =20 -int +static int qemuValidateDomainSmartcardDef(const virDomainSmartcardDef *def, virQEMUCapsPtr qemuCaps) { @@ -1465,7 +1465,7 @@ qemuValidateDomainSmartcardDef(const virDomainSmartca= rdDef *def, } =20 =20 -int +static int qemuValidateDomainRNGDef(const virDomainRNGDef *def, virQEMUCapsPtr qemuCaps G_GNUC_UNUSED) { @@ -1477,7 +1477,7 @@ qemuValidateDomainRNGDef(const virDomainRNGDef *def, } =20 =20 -int +static int qemuValidateDomainRedirdevDef(const virDomainRedirdevDef *def, virQEMUCapsPtr qemuCaps) { @@ -1488,7 +1488,7 @@ qemuValidateDomainRedirdevDef(const virDomainRedirdev= Def *def, } =20 =20 -int +static int qemuValidateDomainWatchdogDef(const virDomainWatchdogDef *dev, const virDomainDef *def) { @@ -1667,7 +1667,7 @@ qemuValidateDomainMdevDef(const virDomainHostdevDef *= hostdev, } =20 =20 -int +static int qemuValidateDomainDeviceDefHostdev(const virDomainHostdevDef *hostdev, const virDomainDef *def, virQEMUCapsPtr qemuCaps) @@ -1724,7 +1724,7 @@ qemuValidateDomainDeviceDefHostdev(const virDomainHos= tdevDef *hostdev, } =20 =20 -int +static int qemuValidateDomainDeviceDefVideo(const virDomainVideoDef *video, virQEMUCapsPtr qemuCaps) { @@ -2671,7 +2671,7 @@ qemuValidateDomainDeviceDefControllerPCI(const virDom= ainControllerDef *cont, #undef virReportControllerMissingOption =20 =20 -int +static int qemuValidateDomainDeviceDefController(const virDomainControllerDef *contro= ller, const virDomainDef *def, virQEMUCapsPtr qemuCaps) @@ -2795,7 +2795,7 @@ qemuValidateDomainDeviceDefSPICEGraphics(const virDom= ainGraphicsDef *graphics, } =20 =20 -int +static int qemuValidateDomainDeviceDefGraphics(const virDomainGraphicsDef *graphics, const virDomainDef *def, virQEMUDriverPtr driver, @@ -2938,7 +2938,7 @@ qemuValidateDomainDefVirtioFSSharedMemory(const virDo= mainDef *def) } =20 =20 -int +static int qemuValidateDomainDeviceDefFS(virDomainFSDefPtr fs, const virDomainDef *def, virQEMUDriverPtr driver, @@ -3031,7 +3031,7 @@ qemuSoundCodecTypeToCaps(int type) } =20 =20 -int +static int qemuValidateDomainDeviceDefSound(virDomainSoundDefPtr sound, virQEMUCapsPtr qemuCaps) { @@ -3090,7 +3090,7 @@ qemuValidateDomainDeviceDefSound(virDomainSoundDefPtr= sound, } =20 =20 -int +static int qemuValidateDomainDeviceDefVsock(const virDomainVsockDef *vsock, const virDomainDef *def, virQEMUCapsPtr qemuCaps) @@ -3110,7 +3110,7 @@ qemuValidateDomainDeviceDefVsock(const virDomainVsock= Def *vsock, } =20 =20 -int +static int qemuValidateDomainDeviceDefTPM(virDomainTPMDef *tpm, const virDomainDef *def, virQEMUCapsPtr qemuCaps) @@ -3190,7 +3190,7 @@ qemuValidateDomainDeviceDefTPM(virDomainTPMDef *tpm, } =20 =20 -int +static int qemuValidateDomainDeviceDefInput(const virDomainInputDef *input, const virDomainDef *def, virQEMUCapsPtr qemuCaps) @@ -3283,7 +3283,7 @@ qemuValidateDomainDeviceDefInput(const virDomainInput= Def *input, } =20 =20 -int +static int qemuValidateDomainDeviceDefMemballoon(const virDomainMemballoonDef *membal= loon, virQEMUCapsPtr qemuCaps) { @@ -3312,7 +3312,7 @@ qemuValidateDomainDeviceDefMemballoon(const virDomain= MemballoonDef *memballoon, } =20 =20 -int +static int qemuValidateDomainDeviceDefIOMMU(const virDomainIOMMUDef *iommu, const virDomainDef *def, virQEMUCapsPtr qemuCaps) @@ -3397,7 +3397,7 @@ qemuValidateDomainDeviceDefIOMMU(const virDomainIOMMU= Def *iommu, } =20 =20 -int +static int qemuValidateDomainDeviceDefNVRAM(virDomainNVRAMDefPtr nvram, const virDomainDef *def, virQEMUCapsPtr qemuCaps) @@ -3430,7 +3430,7 @@ qemuValidateDomainDeviceDefNVRAM(virDomainNVRAMDefPtr= nvram, } =20 =20 -int +static int qemuValidateDomainDeviceDefHub(virDomainHubDefPtr hub, virQEMUCapsPtr qemuCaps) { @@ -3451,7 +3451,7 @@ qemuValidateDomainDeviceDefHub(virDomainHubDefPtr hub, } =20 =20 -int +static int qemuValidateDomainDeviceDefMemory(virDomainMemoryDefPtr mem, virQEMUCapsPtr qemuCaps) { @@ -3464,3 +3464,129 @@ qemuValidateDomainDeviceDefMemory(virDomainMemoryDe= fPtr mem, =20 return 0; } + + +int +qemuValidateDomainDeviceDef(const virDomainDeviceDef *dev, + const virDomainDef *def, + void *opaque) +{ + int ret =3D 0; + virQEMUDriverPtr driver =3D opaque; + g_autoptr(virQEMUCaps) qemuCaps =3D NULL; + g_autoptr(virDomainCaps) domCaps =3D NULL; + + if (!(qemuCaps =3D virQEMUCapsCacheLookup(driver->qemuCapsCache, + def->emulator))) + return -1; + + if (!(domCaps =3D virQEMUDriverGetDomainCapabilities(driver, qemuCaps, + def->os.machine, + def->os.arch, + def->virtType))) + return -1; + + if ((ret =3D qemuValidateDomainDeviceDefAddress(dev, qemuCaps)) < 0) + return ret; + + if ((ret =3D virDomainCapsDeviceDefValidate(domCaps, dev, def)) < 0) + return ret; + + switch ((virDomainDeviceType)dev->type) { + case VIR_DOMAIN_DEVICE_NET: + ret =3D qemuValidateDomainDeviceDefNetwork(dev->data.net, qemuCaps= ); + break; + + case VIR_DOMAIN_DEVICE_CHR: + ret =3D qemuValidateDomainChrDef(dev->data.chr, def, qemuCaps); + break; + + case VIR_DOMAIN_DEVICE_SMARTCARD: + ret =3D qemuValidateDomainSmartcardDef(dev->data.smartcard, qemuCa= ps); + break; + + case VIR_DOMAIN_DEVICE_RNG: + ret =3D qemuValidateDomainRNGDef(dev->data.rng, qemuCaps); + break; + + case VIR_DOMAIN_DEVICE_REDIRDEV: + ret =3D qemuValidateDomainRedirdevDef(dev->data.redirdev, qemuCaps= ); + break; + + case VIR_DOMAIN_DEVICE_WATCHDOG: + ret =3D qemuValidateDomainWatchdogDef(dev->data.watchdog, def); + break; + + case VIR_DOMAIN_DEVICE_HOSTDEV: + ret =3D qemuValidateDomainDeviceDefHostdev(dev->data.hostdev, def, + qemuCaps); + break; + + case VIR_DOMAIN_DEVICE_VIDEO: + ret =3D qemuValidateDomainDeviceDefVideo(dev->data.video, qemuCaps= ); + break; + + case VIR_DOMAIN_DEVICE_DISK: + ret =3D qemuValidateDomainDeviceDefDisk(dev->data.disk, qemuCaps); + break; + + case VIR_DOMAIN_DEVICE_CONTROLLER: + ret =3D qemuValidateDomainDeviceDefController(dev->data.controller= , def, + qemuCaps); + break; + + case VIR_DOMAIN_DEVICE_VSOCK: + ret =3D qemuValidateDomainDeviceDefVsock(dev->data.vsock, def, qem= uCaps); + break; + + case VIR_DOMAIN_DEVICE_TPM: + ret =3D qemuValidateDomainDeviceDefTPM(dev->data.tpm, def, qemuCap= s); + break; + + case VIR_DOMAIN_DEVICE_GRAPHICS: + ret =3D qemuValidateDomainDeviceDefGraphics(dev->data.graphics, de= f, + driver, qemuCaps); + break; + + case VIR_DOMAIN_DEVICE_INPUT: + ret =3D qemuValidateDomainDeviceDefInput(dev->data.input, def, qem= uCaps); + break; + + case VIR_DOMAIN_DEVICE_MEMBALLOON: + ret =3D qemuValidateDomainDeviceDefMemballoon(dev->data.memballoon= , qemuCaps); + break; + + case VIR_DOMAIN_DEVICE_IOMMU: + ret =3D qemuValidateDomainDeviceDefIOMMU(dev->data.iommu, def, qem= uCaps); + break; + + case VIR_DOMAIN_DEVICE_FS: + ret =3D qemuValidateDomainDeviceDefFS(dev->data.fs, def, driver, q= emuCaps); + break; + + case VIR_DOMAIN_DEVICE_NVRAM: + ret =3D qemuValidateDomainDeviceDefNVRAM(dev->data.nvram, def, qem= uCaps); + break; + + case VIR_DOMAIN_DEVICE_HUB: + ret =3D qemuValidateDomainDeviceDefHub(dev->data.hub, qemuCaps); + break; + + case VIR_DOMAIN_DEVICE_SOUND: + ret =3D qemuValidateDomainDeviceDefSound(dev->data.sound, qemuCaps= ); + break; + + case VIR_DOMAIN_DEVICE_MEMORY: + ret =3D qemuValidateDomainDeviceDefMemory(dev->data.memory, qemuCa= ps); + break; + + case VIR_DOMAIN_DEVICE_LEASE: + case VIR_DOMAIN_DEVICE_SHMEM: + case VIR_DOMAIN_DEVICE_PANIC: + case VIR_DOMAIN_DEVICE_NONE: + case VIR_DOMAIN_DEVICE_LAST: + break; + } + + return ret; +} diff --git a/src/qemu/qemu_validate.h b/src/qemu/qemu_validate.h index ac4eb9b772..f667a57195 100644 --- a/src/qemu/qemu_validate.h +++ b/src/qemu/qemu_validate.h @@ -29,57 +29,6 @@ int qemuValidateDomainDef(const virDomainDef *def, void *opaque); int qemuValidateDomainDeviceDefDisk(const virDomainDiskDef *disk, virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefAddress(const virDomainDeviceDef *dev, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefNetwork(const virDomainNetDef *net, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainChrDef(const virDomainChrDef *dev, - const virDomainDef *def, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainSmartcardDef(const virDomainSmartcardDef *def, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainRNGDef(const virDomainRNGDef *def, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainRedirdevDef(const virDomainRedirdevDef *def, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainWatchdogDef(const virDomainWatchdogDef *dev, - const virDomainDef *def); -int qemuValidateDomainDeviceDefHostdev(const virDomainHostdevDef *hostdev, - const virDomainDef *def, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefVideo(const virDomainVideoDef *video, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefController(const virDomainControllerDef *co= ntroller, - const virDomainDef *def, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefGraphics(const virDomainGraphicsDef *graphi= cs, - const virDomainDef *def, - virQEMUDriverPtr driver, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefFS(virDomainFSDefPtr fs, - const virDomainDef *def, - virQEMUDriverPtr driver, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefSound(virDomainSoundDefPtr sound, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefVsock(const virDomainVsockDef *vsock, - const virDomainDef *def, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefTPM(virDomainTPMDef *tpm, - const virDomainDef *def, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefInput(const virDomainInputDef *input, - const virDomainDef *def, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefMemballoon(const virDomainMemballoonDef *me= mballoon, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefIOMMU(const virDomainIOMMUDef *iommu, - const virDomainDef *def, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefMemory(virDomainMemoryDefPtr mem, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefHub(virDomainHubDefPtr hub, - virQEMUCapsPtr qemuCaps); -int qemuValidateDomainDeviceDefNVRAM(virDomainNVRAMDefPtr nvram, - const virDomainDef *def, - virQEMUCapsPtr qemuCaps); +int qemuValidateDomainDeviceDef(const virDomainDeviceDef *dev, + const virDomainDef *def, + void *opaque); --=20 2.25.1