From patchwork Thu Oct 15 12:53:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 302829 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 20BDBC43457 for ; Thu, 15 Oct 2020 12:57:58 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 878CD22251 for ; Thu, 15 Oct 2020 12:57:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="dRyeK0bf" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 878CD22251 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:34640 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kT2pQ-0002Il-EQ for qemu-devel@archiver.kernel.org; Thu, 15 Oct 2020 08:57:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40076) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kT2lL-0005XS-I0 for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:43 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:21437) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kT2lJ-0002fF-KL for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602766420; h=from:from: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; bh=fg/4vi/oMFKQXb4y2H//iZd15YYvhthlbcxywBirMoQ=; b=dRyeK0bfDT3LrLe/PDq4GIYXXhYWDCx2PFhOR/I7fu6UnDDLVBbeUiXszroR4VzfuY1ELX GtrYWZeDn4nCOFAgrYodbPxrs1xqFo6scaIErBQMylxrbPqg/gGDTLC2WmYT582aem1g94 Qfc60aqerfkAVQexiPcWzmDn83S1TN8= 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-295-nJAaNeFfOfO2Z-NNwl3whA-1; Thu, 15 Oct 2020 08:53:39 -0400 X-MC-Unique: nJAaNeFfOfO2Z-NNwl3whA-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0C54118A8231 for ; Thu, 15 Oct 2020 12:53:38 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-56.ams2.redhat.com [10.36.112.56]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8317919C66; Thu, 15 Oct 2020 12:53:23 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id A2A9F1750A; Thu, 15 Oct 2020 14:53:22 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 1/8] module: silence errors for module_load_qom_all(). Date: Thu, 15 Oct 2020 14:53:15 +0200 Message-Id: <20201015125322.23648-2-kraxel@redhat.com> In-Reply-To: <20201015125322.23648-1-kraxel@redhat.com> References: <20201015125322.23648-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=216.205.24.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/15 02:38:26 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Paolo Bonzini , Thomas Huth , Gerd Hoffmann , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Add mayfail bool parameter to module loading functions. Set it to true for module_load_qom_all() because device modules might not load into all system emulation variants. qemu-system-s390x for example will not load qxl because it lacks vga support. Makes "make check" less chatty. Drop module_loaded_qom_all check in module_load_qom_one to make sure we see errors for explicit load requests, i.e. module_load_qom_one("qxl") failing will log an error no matter whenever module_load_qom_all() was called before or not. Signed-off-by: Gerd Hoffmann Acked-by: Paolo Bonzini Message-id: 20200923091217.22662-1-kraxel@redhat.com --- include/qemu/module.h | 8 ++++---- softmmu/qtest.c | 2 +- util/module.c | 20 ++++++++++---------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/include/qemu/module.h b/include/qemu/module.h index 9121a475c1b6..944d403cbd15 100644 --- a/include/qemu/module.h +++ b/include/qemu/module.h @@ -61,15 +61,15 @@ typedef enum { #define fuzz_target_init(function) module_init(function, \ MODULE_INIT_FUZZ_TARGET) #define migration_init(function) module_init(function, MODULE_INIT_MIGRATION) -#define block_module_load_one(lib) module_load_one("block-", lib) -#define ui_module_load_one(lib) module_load_one("ui-", lib) -#define audio_module_load_one(lib) module_load_one("audio-", lib) +#define block_module_load_one(lib) module_load_one("block-", lib, false) +#define ui_module_load_one(lib) module_load_one("ui-", lib, false) +#define audio_module_load_one(lib) module_load_one("audio-", lib, false) void register_module_init(void (*fn)(void), module_init_type type); void register_dso_module_init(void (*fn)(void), module_init_type type); void module_call_init(module_init_type type); -bool module_load_one(const char *prefix, const char *lib_name); +bool module_load_one(const char *prefix, const char *lib_name, bool mayfail); void module_load_qom_one(const char *type); void module_load_qom_all(void); diff --git a/softmmu/qtest.c b/softmmu/qtest.c index 2c6e8dc858c4..7965dc9a16ba 100644 --- a/softmmu/qtest.c +++ b/softmmu/qtest.c @@ -757,7 +757,7 @@ static void qtest_process_command(CharBackend *chr, gchar **words) g_assert(words[1] && words[2]); qtest_send_prefix(chr); - if (module_load_one(words[1], words[2])) { + if (module_load_one(words[1], words[2], false)) { qtest_sendf(chr, "OK\n"); } else { qtest_sendf(chr, "FAIL\n"); diff --git a/util/module.c b/util/module.c index a44ec38d9362..836fd444e1fd 100644 --- a/util/module.c +++ b/util/module.c @@ -110,7 +110,7 @@ void module_call_init(module_init_type type) } #ifdef CONFIG_MODULES -static int module_load_file(const char *fname) +static int module_load_file(const char *fname, bool mayfail) { GModule *g_module; void (*sym)(void); @@ -134,8 +134,10 @@ static int module_load_file(const char *fname) g_module = g_module_open(fname, G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL); if (!g_module) { - fprintf(stderr, "Failed to open module: %s\n", - g_module_error()); + if (!mayfail) { + fprintf(stderr, "Failed to open module: %s\n", + g_module_error()); + } ret = -EINVAL; goto out; } @@ -167,7 +169,7 @@ out: } #endif -bool module_load_one(const char *prefix, const char *lib_name) +bool module_load_one(const char *prefix, const char *lib_name, bool mayfail) { bool success = false; @@ -218,7 +220,7 @@ bool module_load_one(const char *prefix, const char *lib_name) for (i = 0; i < n_dirs; i++) { fname = g_strdup_printf("%s/%s%s", dirs[i], module_name, CONFIG_HOST_DSOSUF); - ret = module_load_file(fname); + ret = module_load_file(fname, mayfail); g_free(fname); fname = NULL; /* Try loading until loaded a module file */ @@ -275,13 +277,11 @@ void module_load_qom_one(const char *type) if (!type) { return; } - if (module_loaded_qom_all) { - return; - } for (i = 0; i < ARRAY_SIZE(qom_modules); i++) { if (strcmp(qom_modules[i].type, type) == 0) { module_load_one(qom_modules[i].prefix, - qom_modules[i].module); + qom_modules[i].module, + false); return; } } @@ -302,7 +302,7 @@ void module_load_qom_all(void) /* one module implementing multiple types -> load only once */ continue; } - module_load_one(qom_modules[i].prefix, qom_modules[i].module); + module_load_one(qom_modules[i].prefix, qom_modules[i].module, true); } module_loaded_qom_all = true; } From patchwork Thu Oct 15 12:53:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 271237 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6142C433E7 for ; Thu, 15 Oct 2020 12:54:47 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 341F322251 for ; Thu, 15 Oct 2020 12:54:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="ZwECUgCm" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 341F322251 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:54362 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kT2mM-0006wK-2A for qemu-devel@archiver.kernel.org; Thu, 15 Oct 2020 08:54:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40016) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kT2lG-0005Qc-IG for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:38 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:36227) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kT2lE-0002cn-Es for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602766414; h=from:from: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; bh=WQJ5ChWn862XIAp2S1C6eFc6xJmzBxGKTu4b3wGWBps=; b=ZwECUgCmu1UWv+G73i34ndYO/c3MT+tm9Vy5fWnewUaYTCUZrU0/LtZDgUBD10Jbv1GDxJ qPJlR0yDFb8i4mh9uwrlAgFtrN7k+h/PiTCfMxCdec7an5QHT/Gx36Pi2mxRaNIv5BCEE1 sJtt+LzBtSXjmZkWOx/RYhzR7sEm9Ms= 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-502-2YbHjk_DNKycx4BtZ2mFtQ-1; Thu, 15 Oct 2020 08:53:32 -0400 X-MC-Unique: 2YbHjk_DNKycx4BtZ2mFtQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E7ACC10E218F for ; Thu, 15 Oct 2020 12:53:31 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-56.ams2.redhat.com [10.36.112.56]) by smtp.corp.redhat.com (Postfix) with ESMTP id 831CF75125; Thu, 15 Oct 2020 12:53:23 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id ABAED1753B; Thu, 15 Oct 2020 14:53:22 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 2/8] modules: update qom object module comment Date: Thu, 15 Oct 2020 14:53:16 +0200 Message-Id: <20201015125322.23648-3-kraxel@redhat.com> In-Reply-To: <20201015125322.23648-1-kraxel@redhat.com> References: <20201015125322.23648-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=63.128.21.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/15 02:10:02 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , Gerd Hoffmann , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daudé Message-id: 20200923103728.12026-1-kraxel@redhat.com --- util/module.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/util/module.c b/util/module.c index 836fd444e1fd..4349607ad176 100644 --- a/util/module.c +++ b/util/module.c @@ -250,8 +250,10 @@ bool module_load_one(const char *prefix, const char *lib_name, bool mayfail) * only a very few devices & objects. * * So with the expectation that this will be rather the exception than - * to rule and the list will not gain that many entries go with a + * the rule and the list will not gain that many entries, go with a * simple manually maintained list for now. + * + * The list must be sorted by module (module_load_qom_all() needs this). */ static struct { const char *type; From patchwork Thu Oct 15 12:53:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 271236 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BFD06C433E7 for ; Thu, 15 Oct 2020 12:54:52 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0844522251 for ; Thu, 15 Oct 2020 12:54:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="C2Eskch2" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0844522251 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:54804 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kT2mQ-00077P-Ut for qemu-devel@archiver.kernel.org; Thu, 15 Oct 2020 08:54:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40050) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kT2lI-0005SC-T4 for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:40 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:20407) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kT2lE-0002d2-IN for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602766415; h=from:from: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; bh=9GFRRc3UvvzhcQ/9kFLxorKTyZdpi+uz3JOokwL3EAo=; b=C2Eskch2b3rsV9IHUFm8CbjbPh24aLNlcw+D6e9BuqM0C07c03PXl/nwL4XW2I12bhVtIP x+vL2jhKWQ0lNKs7ESsEzRX9YPrHRfeO4s3bRLIS44PNOcLH/zd5QJcG73wuWut+7NulTx N5T2HXrD3cWoJg++slyEllKVIaW7XKM= 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-282-4gLtKk9-NDuFb3McOkukCg-1; Thu, 15 Oct 2020 08:53:33 -0400 X-MC-Unique: 4gLtKk9-NDuFb3McOkukCg-1 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 27118E901B for ; Thu, 15 Oct 2020 12:53:32 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-56.ams2.redhat.com [10.36.112.56]) by smtp.corp.redhat.com (Postfix) with ESMTP id A1E0976642; Thu, 15 Oct 2020 12:53:23 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id B4ED89D8F; Thu, 15 Oct 2020 14:53:22 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 3/8] ui/spice-app: don't use qemu_chr_open_spice_port directly Date: Thu, 15 Oct 2020 14:53:17 +0200 Message-Id: <20201015125322.23648-4-kraxel@redhat.com> In-Reply-To: <20201015125322.23648-1-kraxel@redhat.com> References: <20201015125322.23648-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=63.128.21.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/15 02:10:02 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , Gerd Hoffmann , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Save the parent object's open function pointer in the (new) VCChardevClass struct instead before overwriting it, so we can look it up when needed. Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daudé Message-id: 20201014121120.13482-3-kraxel@redhat.com --- ui/spice-app.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/ui/spice-app.c b/ui/spice-app.c index 93e105c6ee82..7e0550c79fdd 100644 --- a/ui/spice-app.c +++ b/ui/spice-app.c @@ -44,11 +44,15 @@ static char *sock_path; struct VCChardev { SpiceChardev parent; }; -typedef struct VCChardev VCChardev; + +struct VCChardevClass { + ChardevClass parent; + void (*parent_open)(Chardev *chr, ChardevBackend *backend, + bool *be_opened, Error **errp); +}; #define TYPE_CHARDEV_VC "chardev-vc" -DECLARE_INSTANCE_CHECKER(VCChardev, VC_CHARDEV, - TYPE_CHARDEV_VC) +OBJECT_DECLARE_TYPE(VCChardev, VCChardevClass, CHARDEV_VC) static ChardevBackend * chr_spice_backend_new(void) @@ -66,6 +70,7 @@ static void vc_chr_open(Chardev *chr, bool *be_opened, Error **errp) { + VCChardevClass *vc = CHARDEV_VC_GET_CLASS(chr); ChardevBackend *be; const char *fqdn = NULL; @@ -80,7 +85,7 @@ static void vc_chr_open(Chardev *chr, be = chr_spice_backend_new(); be->u.spiceport.data->fqdn = fqdn ? g_strdup(fqdn) : g_strdup_printf("org.qemu.console.%s", chr->label); - qemu_chr_open_spice_port(chr, be, be_opened, errp); + vc->parent_open(chr, be, be_opened, errp); qapi_free_ChardevBackend(be); } @@ -91,8 +96,11 @@ static void vc_chr_set_echo(Chardev *chr, bool echo) static void char_vc_class_init(ObjectClass *oc, void *data) { + VCChardevClass *vc = CHARDEV_VC_CLASS(oc); ChardevClass *cc = CHARDEV_CLASS(oc); + vc->parent_open = cc->open; + cc->parse = qemu_chr_parse_vc; cc->open = vc_chr_open; cc->chr_set_echo = vc_chr_set_echo; @@ -103,6 +111,7 @@ static const TypeInfo char_vc_type_info = { .parent = TYPE_CHARDEV_SPICEPORT, .instance_size = sizeof(VCChardev), .class_init = char_vc_class_init, + .class_size = sizeof(VCChardevClass), }; static void spice_app_atexit(void) From patchwork Thu Oct 15 12:53:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 302830 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 59425C433E7 for ; Thu, 15 Oct 2020 12:54:55 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C99B122251 for ; Thu, 15 Oct 2020 12:54:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Y8uK5ksZ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C99B122251 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:55108 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kT2mT-0007GX-R2 for qemu-devel@archiver.kernel.org; Thu, 15 Oct 2020 08:54:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40096) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kT2lM-0005aX-Sx for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:44 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:40685) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kT2lK-0002fJ-07 for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602766421; h=from:from: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; bh=e4dNclkqEicoKOn2WwV702+BoC79jqGlyW9fXc1mazY=; b=Y8uK5ksZFSzf2k6X/2bSNQl4hET5FeO4HRry+KNk2o5B41ugGAKlaFiVyKR9YalN9PNCiR 67EHg0CYIby6YfM/5YlZ8LNexzc5NpzaFWh7urGo0ovYnzQOxl/nn51LMWTAyP6g3XvFlL AFw5AA7sz+4MOR6lTH8sA9D71ya3i1s= 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-216-zwBua5tcPCuY_QZPUX8hCA-1; Thu, 15 Oct 2020 08:53:39 -0400 X-MC-Unique: zwBua5tcPCuY_QZPUX8hCA-1 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 E54D58D5CA6 for ; Thu, 15 Oct 2020 12:53:37 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-56.ams2.redhat.com [10.36.112.56]) by smtp.corp.redhat.com (Postfix) with ESMTP id A52C46EF68; Thu, 15 Oct 2020 12:53:23 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id C10829D5A; Thu, 15 Oct 2020 14:53:22 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 4/8] chardev/spice: make qemu_chr_open_spice_port static Date: Thu, 15 Oct 2020 14:53:18 +0200 Message-Id: <20201015125322.23648-5-kraxel@redhat.com> In-Reply-To: <20201015125322.23648-1-kraxel@redhat.com> References: <20201015125322.23648-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=63.128.21.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/15 02:10:02 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , Gerd Hoffmann , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daudé Message-id: 20201014121120.13482-4-kraxel@redhat.com --- include/chardev/spice.h | 3 --- chardev/spice.c | 8 ++++---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/include/chardev/spice.h b/include/chardev/spice.h index 99f26aedde54..1115502cdfbd 100644 --- a/include/chardev/spice.h +++ b/include/chardev/spice.h @@ -24,7 +24,4 @@ typedef struct SpiceChardev SpiceChardev; DECLARE_INSTANCE_CHECKER(SpiceChardev, SPICE_CHARDEV, TYPE_CHARDEV_SPICE) -void qemu_chr_open_spice_port(Chardev *chr, ChardevBackend *backend, - bool *be_opened, Error **errp); - #endif diff --git a/chardev/spice.c b/chardev/spice.c index bf7ea1e2940d..051c23a84f4c 100644 --- a/chardev/spice.c +++ b/chardev/spice.c @@ -296,10 +296,10 @@ static void qemu_chr_open_spice_vmc(Chardev *chr, chr_open(chr, type); } -void qemu_chr_open_spice_port(Chardev *chr, - ChardevBackend *backend, - bool *be_opened, - Error **errp) +static void qemu_chr_open_spice_port(Chardev *chr, + ChardevBackend *backend, + bool *be_opened, + Error **errp) { ChardevSpicePort *spiceport = backend->u.spiceport.data; const char *name = spiceport->fqdn; From patchwork Thu Oct 15 12:53:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 271233 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DF157C4363A for ; Thu, 15 Oct 2020 12:59:36 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2EA8D22251 for ; Thu, 15 Oct 2020 12:59:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="cpYD/HRZ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2EA8D22251 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:40746 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kT2r0-0004tw-Vy for qemu-devel@archiver.kernel.org; Thu, 15 Oct 2020 08:59:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40100) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kT2lN-0005c9-HE for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:45 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:59763) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kT2lK-0002fU-L8 for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602766421; h=from:from: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; bh=L4gtT6SXzRrti/bjM++E2R0NQ74K3UjDnfqVCMik6u4=; b=cpYD/HRZUSI0rWkcyScJ66/PxlztamNwbXXjPUcBAaDWa5LYl123ynGSzL7BaUjwKmC4Xb fvAt3lHQujSU8n8t/KvvRSyRxf4K7r9+Ws4tAQcR2dE4quSMmoGaJii8nKAEe4/sWmJKLe NLvCCj+Shpa8TLzlW4ejqEvN21IJJbE= 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-524-E6BqkzcYMOuFBxxBrdPO0g-1; Thu, 15 Oct 2020 08:53:39 -0400 X-MC-Unique: E6BqkzcYMOuFBxxBrdPO0g-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0C14C8D5CA2 for ; Thu, 15 Oct 2020 12:53:39 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-56.ams2.redhat.com [10.36.112.56]) by smtp.corp.redhat.com (Postfix) with ESMTP id D33105D9E8; Thu, 15 Oct 2020 12:53:32 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id D29A19D74; Thu, 15 Oct 2020 14:53:22 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 5/8] chardev/spice: simplify chardev setup Date: Thu, 15 Oct 2020 14:53:19 +0200 Message-Id: <20201015125322.23648-6-kraxel@redhat.com> In-Reply-To: <20201015125322.23648-1-kraxel@redhat.com> References: <20201015125322.23648-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=63.128.21.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/15 02:10:02 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Paolo Bonzini , Thomas Huth , Gerd Hoffmann , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Initialize spice before chardevs. That allows to register the spice chardevs directly in the init function and removes the need to maintain a linked list of chardevs just for registration. Signed-off-by: Gerd Hoffmann Message-id: 20201014121120.13482-5-kraxel@redhat.com --- include/chardev/spice.h | 1 - include/ui/qemu-spice.h | 1 - chardev/spice.c | 29 ++++++----------------------- softmmu/vl.c | 9 +++++---- ui/spice-app.c | 17 +++++++++-------- ui/spice-core.c | 2 -- 6 files changed, 20 insertions(+), 39 deletions(-) diff --git a/include/chardev/spice.h b/include/chardev/spice.h index 1115502cdfbd..58e5b727e9fe 100644 --- a/include/chardev/spice.h +++ b/include/chardev/spice.h @@ -13,7 +13,6 @@ struct SpiceChardev { bool blocked; const uint8_t *datapos; int datalen; - QLIST_ENTRY(SpiceChardev) next; }; typedef struct SpiceChardev SpiceChardev; diff --git a/include/ui/qemu-spice.h b/include/ui/qemu-spice.h index 12474d88f40e..0e8ec3f0d776 100644 --- a/include/ui/qemu-spice.h +++ b/include/ui/qemu-spice.h @@ -45,7 +45,6 @@ int qemu_spice_migrate_info(const char *hostname, int port, int tls_port, #else #define SPICE_NEEDS_SET_MM_TIME 0 #endif -void qemu_spice_register_ports(void); #else /* CONFIG_SPICE */ diff --git a/chardev/spice.c b/chardev/spice.c index 051c23a84f4c..7d1fb1771894 100644 --- a/chardev/spice.c +++ b/chardev/spice.c @@ -14,9 +14,6 @@ typedef struct SpiceCharSource { SpiceChardev *scd; } SpiceCharSource; -static QLIST_HEAD(, SpiceChardev) spice_chars = - QLIST_HEAD_INITIALIZER(spice_chars); - static int vmc_write(SpiceCharDeviceInstance *sin, const uint8_t *buf, int len) { SpiceChardev *scd = container_of(sin, SpiceChardev, sin); @@ -216,8 +213,6 @@ static void char_spice_finalize(Object *obj) vmc_unregister_interface(s); - QLIST_SAFE_REMOVE(s, next); - g_free((char *)s->sin.subtype); g_free((char *)s->sin.portname); } @@ -256,8 +251,6 @@ static void chr_open(Chardev *chr, const char *subtype) s->active = false; s->sin.subtype = g_strdup(subtype); - - QLIST_INSERT_HEAD(&spice_chars, s, next); } static void qemu_chr_open_spice_vmc(Chardev *chr, @@ -310,28 +303,18 @@ static void qemu_chr_open_spice_port(Chardev *chr, return; } + if (!using_spice) { + error_setg(errp, "spice not enabled"); + return; + } + chr_open(chr, "port"); *be_opened = false; s = SPICE_CHARDEV(chr); s->sin.portname = g_strdup(name); - if (using_spice) { - /* spice server already created */ - vmc_register_interface(s); - } -} - -void qemu_spice_register_ports(void) -{ - SpiceChardev *s; - - QLIST_FOREACH(s, &spice_chars, next) { - if (s->sin.portname == NULL) { - continue; - } - vmc_register_interface(s); - } + vmc_register_interface(s); } static void qemu_chr_parse_spice_vmc(QemuOpts *opts, ChardevBackend *backend, diff --git a/softmmu/vl.c b/softmmu/vl.c index 254ee5e525d1..cb476aa70bcc 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -4148,6 +4148,11 @@ void qemu_init(int argc, char **argv, char **envp) user_creatable_add_opts_foreach, object_create_initial, &error_fatal); + /* spice needs the timers to be initialized by this point */ + /* spice must initialize before audio as it changes the default auiodev */ + /* spice must initialize before chardevs (for spicevmc and spiceport) */ + qemu_spice_init(); + qemu_opts_foreach(qemu_find_opts("chardev"), chardev_init_func, NULL, &error_fatal); @@ -4156,10 +4161,6 @@ void qemu_init(int argc, char **argv, char **envp) fsdev_init_func, NULL, &error_fatal); #endif - /* spice needs the timers to be initialized by this point */ - /* spice must initialize before audio as it changes the default auiodev */ - qemu_spice_init(); - /* * Note: we need to create audio and block backends before * machine_set_property(), so machine properties can refer to diff --git a/ui/spice-app.c b/ui/spice-app.c index 7e0550c79fdd..026124ef56a0 100644 --- a/ui/spice-app.c +++ b/ui/spice-app.c @@ -129,7 +129,6 @@ static void spice_app_atexit(void) static void spice_app_display_early_init(DisplayOptions *opts) { QemuOpts *qopts; - ChardevBackend *be = chr_spice_backend_new(); GError *err = NULL; if (opts->has_full_screen) { @@ -174,6 +173,15 @@ static void spice_app_display_early_init(DisplayOptions *opts) qemu_opt_set(qopts, "gl", opts->has_gl ? "on" : "off", &error_abort); display_opengl = opts->has_gl; #endif +} + +static void spice_app_display_init(DisplayState *ds, DisplayOptions *opts) +{ + ChardevBackend *be = chr_spice_backend_new(); + QemuOpts *qopts; + GError *err = NULL; + gchar *uri; + be->u.spiceport.data->fqdn = g_strdup("org.qemu.monitor.qmp.0"); qemu_chardev_new("org.qemu.monitor.qmp", TYPE_CHARDEV_SPICEPORT, be, NULL, &error_abort); @@ -183,13 +191,6 @@ static void spice_app_display_early_init(DisplayOptions *opts) qemu_opt_set(qopts, "mode", "control", &error_abort); qapi_free_ChardevBackend(be); -} - -static void spice_app_display_init(DisplayState *ds, DisplayOptions *opts) -{ - GError *err = NULL; - gchar *uri; - uri = g_strjoin("", "spice+unix://", app_dir, "/", "spice.sock", NULL); info_report("Launching display with URI: %s", uri); g_app_info_launch_default_for_uri(uri, NULL, &err); diff --git a/ui/spice-core.c b/ui/spice-core.c index 10aa309f78f7..47700b220059 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c @@ -812,8 +812,6 @@ void qemu_spice_init(void) g_free(x509_cert_file); g_free(x509_cacert_file); - qemu_spice_register_ports(); - #ifdef HAVE_SPICE_GL if (qemu_opt_get_bool(opts, "gl", 0)) { if ((port != 0) || (tls_port != 0)) { From patchwork Thu Oct 15 12:53:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 271234 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9A921C433E7 for ; Thu, 15 Oct 2020 12:58:00 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id ECE1D22255 for ; Thu, 15 Oct 2020 12:57:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="RRA3oRl8" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ECE1D22255 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:34864 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kT2pS-0002OS-Ts for qemu-devel@archiver.kernel.org; Thu, 15 Oct 2020 08:57:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40112) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kT2lO-0005f1-Tf for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:46 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:52711) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kT2lK-0002fR-K0 for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602766421; h=from:from: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; bh=XNdFlTtZfdx2EA9Mz7kcjAYliobBgXHy+9v9Vwledg4=; b=RRA3oRl8Qqi6LPS1uZTrjFh+DSsRuFHUHEX15vmeDFdz6lKe2E94TeeQ29B/S7ZquyAY2Z LS/F4eVtr+sY1DnjSgn1SAmi0zE7YTnOqVLWo58AZZajzkUZfJ3onb48A5JfuuMWirfMJv RdlcejbbprRv9uCGt39N555dW0xXfZM= 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-240-HE8-CY33MyyKvEqZwotKUg-1; Thu, 15 Oct 2020 08:53:39 -0400 X-MC-Unique: HE8-CY33MyyKvEqZwotKUg-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id CE0C58D5CA1 for ; Thu, 15 Oct 2020 12:53:38 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-56.ams2.redhat.com [10.36.112.56]) by smtp.corp.redhat.com (Postfix) with ESMTP id D01AB5D9DD; Thu, 15 Oct 2020 12:53:32 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id DEEDF9D0D; Thu, 15 Oct 2020 14:53:22 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 6/8] meson: add spice_headers dependency. Date: Thu, 15 Oct 2020 14:53:20 +0200 Message-Id: <20201015125322.23648-7-kraxel@redhat.com> In-Reply-To: <20201015125322.23648-1-kraxel@redhat.com> References: <20201015125322.23648-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=63.128.21.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/15 02:10:02 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Paolo Bonzini , Thomas Huth , Gerd Hoffmann , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Used for files which (with CONFIG_SPICE=y) depend on spice header files to pick up some enum, but which do not depend on on the actual spice shared library. Signed-off-by: Gerd Hoffmann Message-id: 20201014121120.13482-6-kraxel@redhat.com --- audio/meson.build | 2 +- meson.build | 2 ++ monitor/meson.build | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/audio/meson.build b/audio/meson.build index 18a831129ed0..7d53b0f920ff 100644 --- a/audio/meson.build +++ b/audio/meson.build @@ -1,5 +1,5 @@ +softmmu_ss.add([spice_headers, files('audio.c')]) softmmu_ss.add(files( - 'audio.c', 'audio_legacy.c', 'mixeng.c', 'noaudio.c', diff --git a/meson.build b/meson.build index 1a4a48249243..2c6169fab072 100644 --- a/meson.build +++ b/meson.build @@ -321,9 +321,11 @@ if 'CONFIG_LIBJACK' in config_host jack = declare_dependency(link_args: config_host['JACK_LIBS'].split()) endif spice = not_found +spice_headers = not_found if 'CONFIG_SPICE' in config_host spice = declare_dependency(compile_args: config_host['SPICE_CFLAGS'].split(), link_args: config_host['SPICE_LIBS'].split()) + spice_headers = declare_dependency(compile_args: config_host['SPICE_CFLAGS'].split()) endif rt = cc.find_library('rt', required: false) libdl = not_found diff --git a/monitor/meson.build b/monitor/meson.build index eb2a534fdc88..6d00985ace7a 100644 --- a/monitor/meson.build +++ b/monitor/meson.build @@ -3,7 +3,7 @@ qmp_ss.add(files('monitor.c', 'qmp.c', 'qmp-cmds-control.c')) softmmu_ss.add(files( 'hmp-cmds.c', 'hmp.c', - 'qmp-cmds.c', )) +softmmu_ss.add([spice_headers, files('qmp-cmds.c')]) specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: [files('misc.c'), spice]) From patchwork Thu Oct 15 12:53:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 302828 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 09983C433E7 for ; Thu, 15 Oct 2020 12:58:03 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5B36E22251 for ; Thu, 15 Oct 2020 12:58:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="S76LBY59" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5B36E22251 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:35136 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kT2pV-0002VV-AP for qemu-devel@archiver.kernel.org; Thu, 15 Oct 2020 08:58:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40116) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kT2lP-0005hx-S5 for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:47 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:48069) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kT2lN-0002g5-4a for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602766424; h=from:from: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; bh=tXe4cg857g20YUx6njvEzYYGxDAZJ9Am6OrXnV4XwOw=; b=S76LBY59sic24kyuj+OIMeL9zoGCdTKlwqcA0L/jOVUOH1CbZI6fX+bV96ixvuMSTX8x0D 760yfRi027dYw2NBXFMUwrMUSEvHzoeBweC5BwIG4olcaGEtU3yGPTJqjdY+NK3PLuzxc6 m3fCC9hHZmIGtLSk3wWyYIsqn+lOx7E= 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-469-gI9nYf0GMruJRSC0zYAPjg-1; Thu, 15 Oct 2020 08:53:42 -0400 X-MC-Unique: gI9nYf0GMruJRSC0zYAPjg-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C7EC28D5CA0 for ; Thu, 15 Oct 2020 12:53:41 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-56.ams2.redhat.com [10.36.112.56]) by smtp.corp.redhat.com (Postfix) with ESMTP id D53705C1BD; Thu, 15 Oct 2020 12:53:32 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id E7F0E9D0E; Thu, 15 Oct 2020 14:53:22 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 7/8] meson: add spice dependency to core spice source files. Date: Thu, 15 Oct 2020 14:53:21 +0200 Message-Id: <20201015125322.23648-8-kraxel@redhat.com> In-Reply-To: <20201015125322.23648-1-kraxel@redhat.com> References: <20201015125322.23648-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=216.205.24.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/15 02:38:26 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , Gerd Hoffmann , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Right now it happens to work by pure luck because the spice chardevs add the spice dependency to the softmmu source set. That'll change though once we start building spice chardevs as module, so lets fix it properly. Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daudé Message-id: 20201014121120.13482-7-kraxel@redhat.com --- ui/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/meson.build b/ui/meson.build index 78ad792ffb8d..6ce814867852 100644 --- a/ui/meson.build +++ b/ui/meson.build @@ -14,7 +14,7 @@ softmmu_ss.add(files( )) softmmu_ss.add(when: 'CONFIG_LINUX', if_true: files('input-linux.c')) -softmmu_ss.add(when: 'CONFIG_SPICE', if_true: files('spice-core.c', 'spice-input.c', 'spice-display.c')) +softmmu_ss.add(when: [spice, 'CONFIG_SPICE'], if_true: files('spice-core.c', 'spice-input.c', 'spice-display.c')) softmmu_ss.add(when: cocoa, if_true: files('cocoa.m')) vnc_ss = ss.source_set() From patchwork Thu Oct 15 12:53:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 271235 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D4BD3C433DF for ; Thu, 15 Oct 2020 12:57:56 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4EADE22255 for ; Thu, 15 Oct 2020 12:57:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="LQ6/Po9D" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4EADE22255 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:34384 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kT2pO-0002CU-4b for qemu-devel@archiver.kernel.org; Thu, 15 Oct 2020 08:57:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40046) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kT2lH-0005Qz-PE for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:39 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:35915) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kT2lE-0002d6-Dn for qemu-devel@nongnu.org; Thu, 15 Oct 2020 08:53:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602766415; h=from:from: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; bh=7Pj31xriymNsj9PF/8LSZqHTMJrYN/5EDpbzid4Et3c=; b=LQ6/Po9Dk9P5vKH9Lm1WEuHcdDljh8L+fM8OHefpaA1r1CRqoCnPqQLNsUr1UtL0eWMNOj RzvWjvjaFkTytYsHUa2T2asZvFahlBdf+/r6VZAr7hXaeE4+uENR1wdZdnOpZqOnG5YCBn A5y4wZl4gS6NxvPbTjxC6R8lzdlHydY= 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-393-0ZStHlMyN224mkMedXGMiA-1; Thu, 15 Oct 2020 08:53:34 -0400 X-MC-Unique: 0ZStHlMyN224mkMedXGMiA-1 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 1F19918A8234 for ; Thu, 15 Oct 2020 12:53:33 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-56.ams2.redhat.com [10.36.112.56]) by smtp.corp.redhat.com (Postfix) with ESMTP id D328F76674; Thu, 15 Oct 2020 12:53:32 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id F27AD9D0F; Thu, 15 Oct 2020 14:53:22 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 8/8] chardev/spice: build spice chardevs as module Date: Thu, 15 Oct 2020 14:53:22 +0200 Message-Id: <20201015125322.23648-9-kraxel@redhat.com> In-Reply-To: <20201015125322.23648-1-kraxel@redhat.com> References: <20201015125322.23648-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=216.205.24.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/15 02:38:26 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Paolo Bonzini , Thomas Huth , Gerd Hoffmann , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Gerd Hoffmann Message-id: 20201014121120.13482-8-kraxel@redhat.com --- util/module.c | 2 ++ chardev/meson.build | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/util/module.c b/util/module.c index 4349607ad176..f0ed05fbd06b 100644 --- a/util/module.c +++ b/util/module.c @@ -268,6 +268,8 @@ static struct { { "virtio-gpu-device", "hw-", "display-virtio-gpu" }, { "vhost-user-gpu", "hw-", "display-virtio-gpu" }, { "chardev-braille", "chardev-", "baum" }, + { "chardev-spicevmc", "chardev-", "spice" }, + { "chardev-spiceport", "chardev-", "spice" }, }; static bool module_loaded_qom_all; diff --git a/chardev/meson.build b/chardev/meson.build index dd2699a11b08..859d8b04d480 100644 --- a/chardev/meson.build +++ b/chardev/meson.build @@ -26,7 +26,6 @@ chardev_ss.add(when: 'CONFIG_WIN32', if_true: files( chardev_ss = chardev_ss.apply(config_host, strict: false) softmmu_ss.add(files('chardev-sysemu.c', 'msmouse.c', 'wctablet.c', 'testdev.c')) -softmmu_ss.add(when: ['CONFIG_SPICE', spice], if_true: files('spice.c')) chardev_modules = {} @@ -36,4 +35,10 @@ if config_host.has_key('CONFIG_BRLAPI') chardev_modules += { 'baum': module_ss } endif +if config_host.has_key('CONFIG_SPICE') + module_ss = ss.source_set() + module_ss.add(when: [spice], if_true: files('spice.c')) + chardev_modules += { 'spice': module_ss } +endif + modules += { 'chardev': chardev_modules }