From patchwork Thu Jun 4 13:16:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 11587945 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 84729913 for ; Thu, 4 Jun 2020 13:20:43 +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 5A7422065C for ; Thu, 4 Jun 2020 13:20:43 +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="R3Sa/hBA" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5A7422065C 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:41510 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgpnW-0007Hn-Kg for patchwork-qemu-devel@patchwork.kernel.org; Thu, 04 Jun 2020 09:20:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58774) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jgpkJ-00007m-Ra for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:23 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:33359 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jgpkI-00026a-Qr for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591276642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=0//tcfnDzU+f8W3/NywI8MaQbxXvmBkTXjmDnzJ+n4A=; b=R3Sa/hBAYDXW8SvdV7/b4SfM5pKBYt3aQF927mDeJkpmWPQbx41MYqRWSt9qmlSdllzNlW OFywhvcfdH9Kyaj9ii58PRTo3YtLnHtwf1y2Pc1Mq+ymLXIHOuLpCNpNziR+1JbA8ou9Ep NDeOV5rgCNvC/XguiaORyWpTHSgE1UI= 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-426-tN6Ts-ouP6WXlb8L7EiYKw-1; Thu, 04 Jun 2020 09:17:20 -0400 X-MC-Unique: tN6Ts-ouP6WXlb8L7EiYKw-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 06D7EA0BE0 for ; Thu, 4 Jun 2020 13:17:06 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-113-50.ams2.redhat.com [10.36.113.50]) by smtp.corp.redhat.com (Postfix) with ESMTP id CA67A19C58; Thu, 4 Jun 2020 13:16:44 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id D4B7B1750A; Thu, 4 Jun 2020 15:16:43 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH v2 1/7] qdev: add support for device module loading Date: Thu, 4 Jun 2020 15:16:37 +0200 Message-Id: <20200604131643.1776-2-kraxel@redhat.com> In-Reply-To: <20200604131643.1776-1-kraxel@redhat.com> References: <20200604131643.1776-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=205.139.110.61; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/04 01:08:38 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_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN 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: dinechin@redhat.com, Paolo Bonzini , =?utf-8?q?Dani?= =?utf-8?q?el_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Gerd Hoffmann Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" When compiling devices as modules we'll need some infrastrtucture to actually load those modules if needed. This patch adds it. Signed-off-by: Gerd Hoffmann --- include/hw/qdev-core.h | 3 +++ include/qemu/module.h | 1 + hw/core/qdev.c | 50 ++++++++++++++++++++++++++++++++++++++++++ qdev-monitor.c | 5 +++++ qom/qom-qmp-cmds.c | 1 + stubs/hw-module.c | 6 +++++ stubs/Makefile.objs | 1 + 7 files changed, 67 insertions(+) create mode 100644 stubs/hw-module.c diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index b870b279661a..a96c890bb95b 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -552,4 +552,7 @@ void device_listener_unregister(DeviceListener *listener); */ bool qdev_should_hide_device(QemuOpts *opts); +void qdev_module_load_type(const char *type); +void qdev_module_load_all(void); + #endif diff --git a/include/qemu/module.h b/include/qemu/module.h index 011ae1ae7605..077a6b09bca7 100644 --- a/include/qemu/module.h +++ b/include/qemu/module.h @@ -64,6 +64,7 @@ typedef enum { #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 hw_module_load_one(lib) module_load_one("hw-", lib) void register_module_init(void (*fn)(void), module_init_type type); void register_dso_module_init(void (*fn)(void), module_init_type type); diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 9e5538aeaebd..7177798840d4 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -146,10 +146,60 @@ DeviceState *qdev_create(BusState *bus, const char *name) return dev; } +/* + * Building devices modular is mostly useful in case they have + * dependencies to external libraries. Which is the case for very few + * devices. So with the expecration that this will be rather the + * exception than to rule go with a simple hardcoded list for now ... + */ +static struct { + const char *type; + const char *mod; +} const hwmodules[] = { +}; + +static bool qdev_module_loaded_all; + +void qdev_module_load_type(const char *type) +{ + int i; + + if (qdev_module_loaded_all) { + return; + } + for (i = 0; i < ARRAY_SIZE(hwmodules); i++) { + if (strcmp(hwmodules[i].type, type) == 0) { + hw_module_load_one(hwmodules[i].mod); + return; + } + } +} + +void qdev_module_load_all(void) +{ + int i; + + if (qdev_module_loaded_all) { + return; + } + for (i = 0; i < ARRAY_SIZE(hwmodules); i++) { + if (i > 0 && strcmp(hwmodules[i - 1].mod, + hwmodules[i].mod) == 0) { + /* one module implementing multiple devices -> load only once */ + continue; + } + hw_module_load_one(hwmodules[i].mod); + } + qdev_module_loaded_all = true; +} + DeviceState *qdev_try_create(BusState *bus, const char *type) { DeviceState *dev; + if (object_class_by_name(type) == NULL) { + qdev_module_load_type(type); + } if (object_class_by_name(type) == NULL) { return NULL; } diff --git a/qdev-monitor.c b/qdev-monitor.c index a4735d3bb190..55dddeb2f978 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -147,6 +147,7 @@ static void qdev_print_devinfos(bool show_no_user) int i; bool cat_printed; + qdev_module_load_all(); list = object_class_get_list_sorted(TYPE_DEVICE, false); for (i = 0; i <= DEVICE_CATEGORY_MAX; i++) { @@ -224,6 +225,10 @@ static DeviceClass *qdev_get_device_class(const char **driver, Error **errp) oc = object_class_by_name(*driver); } } + if (!oc) { + qdev_module_load_type(*driver); + oc = object_class_by_name(*driver); + } if (!object_class_dynamic_cast(oc, TYPE_DEVICE)) { if (*driver != original_name) { diff --git a/qom/qom-qmp-cmds.c b/qom/qom-qmp-cmds.c index c5249e44d020..fe48cd2f9cf0 100644 --- a/qom/qom-qmp-cmds.c +++ b/qom/qom-qmp-cmds.c @@ -116,6 +116,7 @@ ObjectTypeInfoList *qmp_qom_list_types(bool has_implements, { ObjectTypeInfoList *ret = NULL; + qdev_module_load_all(); object_class_foreach(qom_list_types_tramp, implements, abstract, &ret); return ret; diff --git a/stubs/hw-module.c b/stubs/hw-module.c new file mode 100644 index 000000000000..1c312d2fc2b3 --- /dev/null +++ b/stubs/hw-module.c @@ -0,0 +1,6 @@ +#include "qemu/osdep.h" +#include "hw/qdev-core.h" + +void qdev_module_load_all(void) +{ +} diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs index 6a9e3135e8f9..a4eb96514ddc 100644 --- a/stubs/Makefile.objs +++ b/stubs/Makefile.objs @@ -44,4 +44,5 @@ stub-obj-y += pci-host-piix.o stub-obj-y += ram-block.o stub-obj-y += ramfb.o stub-obj-y += fw_cfg.o +stub-obj-y += hw-module.o stub-obj-$(CONFIG_SOFTMMU) += semihost.o From patchwork Thu Jun 4 13:16:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 11587931 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 90A711392 for ; Thu, 4 Jun 2020 13:17:43 +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 2645C206C3 for ; Thu, 4 Jun 2020 13:17:43 +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="d610J0k8" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2645C206C3 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:55080 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgpkc-0000mi-29 for patchwork-qemu-devel@patchwork.kernel.org; Thu, 04 Jun 2020 09:17:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58688) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jgpjx-0007ki-31 for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:01 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:52956 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jgpjw-000238-05 for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591276618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=4+/WITPq33oOuq4ULbgpiAQx/AA+X0qzxS870TvpddY=; b=d610J0k8vW/utmPQD61IGt0tzJ5JnB5Z4TLsjd2XM0L/g/OwBL25XuBETZZc8ieLEGjk5t 7Qo78n9CEFSX0oorDoV6nergONLJfQ3G6CGCuo+BRFV4HGAElR5odr9KY6VTwlLospP+wr z8VY3CVoaa/xd2TmNVe7kffZO82RW0U= 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-60-gy7WtdMAMGCaGloqGvLRBQ-1; Thu, 04 Jun 2020 09:16:55 -0400 X-MC-Unique: gy7WtdMAMGCaGloqGvLRBQ-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 D8922102C886 for ; Thu, 4 Jun 2020 13:16:53 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-113-50.ams2.redhat.com [10.36.113.50]) by smtp.corp.redhat.com (Postfix) with ESMTP id CA75F8B557; Thu, 4 Jun 2020 13:16:44 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id DD53C17510; Thu, 4 Jun 2020 15:16:43 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH v2 2/7] build: fix device module builds Date: Thu, 4 Jun 2020 15:16:38 +0200 Message-Id: <20200604131643.1776-3-kraxel@redhat.com> In-Reply-To: <20200604131643.1776-1-kraxel@redhat.com> References: <20200604131643.1776-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=205.139.110.120; envelope-from=kraxel@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/04 01:12:15 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_PASS=-0.001 autolearn=_AUTOLEARN 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: dinechin@redhat.com, Paolo Bonzini , =?utf-8?q?Dani?= =?utf-8?q?el_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Gerd Hoffmann Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" See comment. Feels quite hackish. Better ideas anyone? Signed-off-by: Gerd Hoffmann --- Makefile.target | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Makefile.target b/Makefile.target index 8ed1eba95b9c..c70325df5796 100644 --- a/Makefile.target +++ b/Makefile.target @@ -179,6 +179,13 @@ endif # CONFIG_SOFTMMU dummy := $(call unnest-vars,,obj-y) all-obj-y := $(obj-y) +# +# common-obj-m has some crap here, probably as side effect from +# filling obj-y. Clear it. Fixes suspious dependency errors when +# building devices as modules. +# +common-obj-m := + include $(SRC_PATH)/Makefile.objs dummy := $(call unnest-vars,.., \ authz-obj-y \ From patchwork Thu Jun 4 13:16:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 11587935 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EBAD71392 for ; Thu, 4 Jun 2020 13:18:06 +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 C12D0206C3 for ; Thu, 4 Jun 2020 13:18:06 +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="FNCmnPFm" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C12D0206C3 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:57626 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgpl0-0001rV-02 for patchwork-qemu-devel@patchwork.kernel.org; Thu, 04 Jun 2020 09:18:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58772) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jgpkJ-00007P-L1 for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:23 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:51697 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jgpkI-00026U-JO for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591276641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=CtccG+l+buVKw/BiwQr17ak+aMxrB65+TBtXNmztbGw=; b=FNCmnPFmNITn32PMaO3WnrG4qL4bY4m9Zf+4Y6ZXyx6zz711w9Bd89igUEoq8BtlVvtsP8 YFQ+slZT4XOcY3IOEmCUr8NzsAtQ8CBtj2F8ru1RTa3+jP4GI/luGNP8HNcR5WFF7ue9GW K3nclEW+CzgNAoOB/fTYoJwJ+dTDTgc= 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-422-bpObeYQZN-6tIeOBZhw5bA-1; Thu, 04 Jun 2020 09:17:14 -0400 X-MC-Unique: bpObeYQZN-6tIeOBZhw5bA-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E7868107AFDB for ; Thu, 4 Jun 2020 13:17:03 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-113-50.ams2.redhat.com [10.36.113.50]) by smtp.corp.redhat.com (Postfix) with ESMTP id CE61A1002391; Thu, 4 Jun 2020 13:16:44 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id EA81E17511; Thu, 4 Jun 2020 15:16:43 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH v2 3/7] ccid: build smartcard as module Date: Thu, 4 Jun 2020 15:16:39 +0200 Message-Id: <20200604131643.1776-4-kraxel@redhat.com> In-Reply-To: <20200604131643.1776-1-kraxel@redhat.com> References: <20200604131643.1776-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=205.139.110.61; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/04 01:08:38 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_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: dinechin@redhat.com, Paolo Bonzini , =?utf-8?q?Dani?= =?utf-8?q?el_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Gerd Hoffmann Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" Drops libcacard.so dependency from core qemu. Signed-off-by: Gerd Hoffmann --- Makefile.objs | 1 + hw/core/qdev.c | 2 ++ hw/Makefile.objs | 1 + hw/usb/Makefile.objs | 4 +++- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Makefile.objs b/Makefile.objs index 99774cfd2545..28c165c0e623 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -59,6 +59,7 @@ common-obj-y += migration/ common-obj-y += audio/ common-obj-m += audio/ common-obj-y += hw/ +common-obj-m += hw/ common-obj-y += replay/ diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 7177798840d4..36c301750c31 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -156,6 +156,8 @@ static struct { const char *type; const char *mod; } const hwmodules[] = { + { .type = "ccid-card-passthru", .mod = "usb-smartcard" }, + { .type = "ccid-card-emulated", .mod = "usb-smartcard" }, }; static bool qdev_module_loaded_all; diff --git a/hw/Makefile.objs b/hw/Makefile.objs index 660e2b437348..71843591fe43 100644 --- a/hw/Makefile.objs +++ b/hw/Makefile.objs @@ -43,4 +43,5 @@ devices-dirs-y += smbios/ endif common-obj-y += $(devices-dirs-y) +common-obj-m += usb/ obj-y += $(devices-dirs-y) diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs index 66835e5bf732..d8e340cd0748 100644 --- a/hw/usb/Makefile.objs +++ b/hw/usb/Makefile.objs @@ -28,11 +28,13 @@ common-obj-$(CONFIG_USB_NETWORK) += dev-network.o ifeq ($(CONFIG_USB_SMARTCARD),y) common-obj-y += dev-smartcard-reader.o -common-obj-$(CONFIG_SMARTCARD) += smartcard.mo +ifeq ($(CONFIG_SMARTCARD),y) +common-obj-m += smartcard.mo smartcard.mo-objs := ccid-card-passthru.o ccid-card-emulated.o smartcard.mo-cflags := $(SMARTCARD_CFLAGS) smartcard.mo-libs := $(SMARTCARD_LIBS) endif +endif ifeq ($(CONFIG_POSIX),y) common-obj-$(CONFIG_USB_STORAGE_MTP) += dev-mtp.o From patchwork Thu Jun 4 13:16:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 11587943 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9B5C790 for ; Thu, 4 Jun 2020 13:19:35 +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 71CB3206C3 for ; Thu, 4 Jun 2020 13:19:35 +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="O4WYuxBB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 71CB3206C3 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:37528 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgpmQ-0005PI-Os for patchwork-qemu-devel@patchwork.kernel.org; Thu, 04 Jun 2020 09:19:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58790) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jgpkN-0000Io-Nf for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:27 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:58521 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jgpkM-00027R-9c for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591276645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=v4m2/6tExjydV9qQemlct9DMIRH8OcH+rQj+BKqE29A=; b=O4WYuxBBSE0s6tkiP273BARQfnPd4XbdjCAuL9QWr/JdyHlg7SiDBJT+GwRGUhyUrlXSdY pbgbb4Tu9qBbIHyi9yGoLo74HnmiR7BOBg8YTP2+kl1EtZ4f87QLWD5zdJ1fYPn1gwNg/U /imh2y+qnKKvD56XhxYkG4TmwAOOUfc= 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-464-eaWrS5zoOTW1i60dynYKZw-1; Thu, 04 Jun 2020 09:17:21 -0400 X-MC-Unique: eaWrS5zoOTW1i60dynYKZw-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 CAD58184C5ED for ; Thu, 4 Jun 2020 13:17:05 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-113-50.ams2.redhat.com [10.36.113.50]) by smtp.corp.redhat.com (Postfix) with ESMTP id CE3F219D71; Thu, 4 Jun 2020 13:16:44 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 00C7117516; Thu, 4 Jun 2020 15:16:44 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH v2 4/7] usb: build usb-redir as module Date: Thu, 4 Jun 2020 15:16:40 +0200 Message-Id: <20200604131643.1776-5-kraxel@redhat.com> In-Reply-To: <20200604131643.1776-1-kraxel@redhat.com> References: <20200604131643.1776-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=205.139.110.120; envelope-from=kraxel@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/04 01:12:15 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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: dinechin@redhat.com, Paolo Bonzini , =?utf-8?q?Dani?= =?utf-8?q?el_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Gerd Hoffmann Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" Drops libusbredirparser.so dependency from core qemu. Signed-off-by: Gerd Hoffmann --- hw/core/qdev.c | 1 + hw/usb/Makefile.objs | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 36c301750c31..cab971758b26 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -158,6 +158,7 @@ static struct { } const hwmodules[] = { { .type = "ccid-card-passthru", .mod = "usb-smartcard" }, { .type = "ccid-card-emulated", .mod = "usb-smartcard" }, + { .type = "usb-redir", .mod = "usb-redirect" }, }; static bool qdev_module_loaded_all; diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs index d8e340cd0748..5619a3b23981 100644 --- a/hw/usb/Makefile.objs +++ b/hw/usb/Makefile.objs @@ -42,9 +42,12 @@ endif # usb redirection ifeq ($(CONFIG_USB),y) -common-obj-$(CONFIG_USB_REDIR) += redirect.o quirks.o -redirect.o-cflags = $(USB_REDIR_CFLAGS) -redirect.o-libs = $(USB_REDIR_LIBS) +ifeq ($(CONFIG_USB-REDIR),y) +common-obj-m += redirect.mo +redirect.mo-objs = redirect.o quirks.o +redirect.mo-cflags = $(USB_REDIR_CFLAGS) +redirect.mo-libs = $(USB_REDIR_LIBS) +endif endif # usb pass-through From patchwork Thu Jun 4 13:16:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 11587933 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BCB991392 for ; Thu, 4 Jun 2020 13:17:44 +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 93E5A206C3 for ; Thu, 4 Jun 2020 13:17:44 +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="VXiyubk6" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 93E5A206C3 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:55322 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgpkd-0000si-PR for patchwork-qemu-devel@patchwork.kernel.org; Thu, 04 Jun 2020 09:17:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58704) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jgpjy-0007nD-Si for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:02 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:44050 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jgpjx-00023a-VW for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591276621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=rwADNlbQAqsl3T+blUbudp6HvmyTiZL+19PTG8I3YdY=; b=VXiyubk6Opf500jSxQUfp6grr6WG1pPFLqPnrCDr0LqyMkxtAyMYAkdNfpHjT4mCR7k31s mQ/JRGi8mZ1krXpQHjPW0XrtNnGKduC9YHpNOjLzj/CVJGNCq7St+ipLHtGbLef/13e073 iu2fEnp5riNoMh5FVn4jS0yuOzyUW3o= 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-493-4kS9q_LpMrOAxTmzgtrZHw-1; Thu, 04 Jun 2020 09:16:57 -0400 X-MC-Unique: 4kS9q_LpMrOAxTmzgtrZHw-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 D725E18B6492 for ; Thu, 4 Jun 2020 13:16:55 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-113-50.ams2.redhat.com [10.36.113.50]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0DA4961B8F; Thu, 4 Jun 2020 13:16:55 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 0CCCD17532; Thu, 4 Jun 2020 15:16:44 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH v2 5/7] vga: build qxl as module Date: Thu, 4 Jun 2020 15:16:41 +0200 Message-Id: <20200604131643.1776-6-kraxel@redhat.com> In-Reply-To: <20200604131643.1776-1-kraxel@redhat.com> References: <20200604131643.1776-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=207.211.31.81; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/04 01:31:23 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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: dinechin@redhat.com, Paolo Bonzini , =?utf-8?q?Dani?= =?utf-8?q?el_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Gerd Hoffmann Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" First step in making spice support modular. Signed-off-by: Gerd Hoffmann --- hw/core/qdev.c | 2 ++ hw/Makefile.objs | 1 + hw/display/Makefile.objs | 5 ++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/core/qdev.c b/hw/core/qdev.c index cab971758b26..70cf84bb67d0 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -159,6 +159,8 @@ static struct { { .type = "ccid-card-passthru", .mod = "usb-smartcard" }, { .type = "ccid-card-emulated", .mod = "usb-smartcard" }, { .type = "usb-redir", .mod = "usb-redirect" }, + { .type = "qxl-vga", .mod = "display-qxl" }, + { .type = "qxl", .mod = "display-qxl" }, }; static bool qdev_module_loaded_all; diff --git a/hw/Makefile.objs b/hw/Makefile.objs index 71843591fe43..fd6519e8af3f 100644 --- a/hw/Makefile.objs +++ b/hw/Makefile.objs @@ -43,5 +43,6 @@ devices-dirs-y += smbios/ endif common-obj-y += $(devices-dirs-y) +common-obj-m += display/ common-obj-m += usb/ obj-y += $(devices-dirs-y) diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs index 77a7d622bd2d..76b3571e4902 100644 --- a/hw/display/Makefile.objs +++ b/hw/display/Makefile.objs @@ -44,7 +44,10 @@ common-obj-$(CONFIG_ARTIST) += artist.o obj-$(CONFIG_VGA) += vga.o -common-obj-$(CONFIG_QXL) += qxl.o qxl-logger.o qxl-render.o +ifeq ($(CONFIG_QXL),y) +common-obj-m += qxl.mo +qxl.mo-objs = qxl.o qxl-logger.o qxl-render.o +endif obj-$(CONFIG_VIRTIO_GPU) += virtio-gpu-base.o virtio-gpu.o virtio-gpu-3d.o obj-$(CONFIG_VHOST_USER_GPU) += vhost-user-gpu.o From patchwork Thu Jun 4 13:16:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 11587939 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 08CE590 for ; Thu, 4 Jun 2020 13:19:12 +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 D37E7206C3 for ; Thu, 4 Jun 2020 13:19:11 +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="hnVwJVnD" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D37E7206C3 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:35074 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgpm3-0004PP-0p for patchwork-qemu-devel@patchwork.kernel.org; Thu, 04 Jun 2020 09:19:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58720) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jgpk1-0007tS-PZ for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:05 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:40363 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jgpk0-00023p-Nk for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591276623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=zKgzbu56JWA26thrgP8d39uINJgNg2AhZKfGXjypD84=; b=hnVwJVnDJGS51QIE+FMKBhTi9tphBFPyox/wzslramZuH7KWWi1c1AH/2EAumVk8whWX/O +yAPicEw9fUn6bcRxsV6ZuJSzNSY2jxkccC6omlzuV/eeVCa16uCba6f38i9ohiyuc+6SE s47JdPx34BnZSZpsvlDQqXwXgoMtjlE= 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-218-mXNH5yzzMdiILRi2xH2NCw-1; Thu, 04 Jun 2020 09:16:58 -0400 X-MC-Unique: mXNH5yzzMdiILRi2xH2NCw-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 D70D480BC52 for ; Thu, 4 Jun 2020 13:16:55 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-113-50.ams2.redhat.com [10.36.113.50]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0EA6D61B92; Thu, 4 Jun 2020 13:16:55 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 15CC717538; Thu, 4 Jun 2020 15:16:44 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH v2 6/7] vga: build virtio-gpu only once Date: Thu, 4 Jun 2020 15:16:42 +0200 Message-Id: <20200604131643.1776-7-kraxel@redhat.com> In-Reply-To: <20200604131643.1776-1-kraxel@redhat.com> References: <20200604131643.1776-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=205.139.110.120; envelope-from=kraxel@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/04 01:12:15 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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: dinechin@redhat.com, Paolo Bonzini , =?utf-8?q?Dani?= =?utf-8?q?el_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Gerd Hoffmann Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé --- hw/display/Makefile.objs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs index 76b3571e4902..d619594ad4d3 100644 --- a/hw/display/Makefile.objs +++ b/hw/display/Makefile.objs @@ -49,12 +49,12 @@ common-obj-m += qxl.mo qxl.mo-objs = qxl.o qxl-logger.o qxl-render.o endif -obj-$(CONFIG_VIRTIO_GPU) += virtio-gpu-base.o virtio-gpu.o virtio-gpu-3d.o -obj-$(CONFIG_VHOST_USER_GPU) += vhost-user-gpu.o -obj-$(call land,$(CONFIG_VIRTIO_GPU),$(CONFIG_VIRTIO_PCI)) += virtio-gpu-pci.o -obj-$(call land,$(CONFIG_VHOST_USER_GPU),$(CONFIG_VIRTIO_PCI)) += vhost-user-gpu-pci.o -obj-$(CONFIG_VIRTIO_VGA) += virtio-vga.o -obj-$(CONFIG_VHOST_USER_VGA) += vhost-user-vga.o +common-obj-$(CONFIG_VIRTIO_GPU) += virtio-gpu-base.o virtio-gpu.o virtio-gpu-3d.o +common-obj-$(CONFIG_VHOST_USER_GPU) += vhost-user-gpu.o +common-obj-$(call land,$(CONFIG_VIRTIO_GPU),$(CONFIG_VIRTIO_PCI)) += virtio-gpu-pci.o +common-obj-$(call land,$(CONFIG_VHOST_USER_GPU),$(CONFIG_VIRTIO_PCI)) += vhost-user-gpu-pci.o +common-obj-$(CONFIG_VIRTIO_VGA) += virtio-vga.o +common-obj-$(CONFIG_VHOST_USER_VGA) += vhost-user-vga.o virtio-gpu.o-cflags := $(VIRGL_CFLAGS) virtio-gpu.o-libs += $(VIRGL_LIBS) virtio-gpu-3d.o-cflags := $(VIRGL_CFLAGS) From patchwork Thu Jun 4 13:16:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 11587941 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DAA3A90 for ; Thu, 4 Jun 2020 13:19:14 +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 B10F7206C3 for ; Thu, 4 Jun 2020 13:19:14 +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="Yi1gPgZZ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B10F7206C3 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:35396 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgpm5-0004XM-Uh for patchwork-qemu-devel@patchwork.kernel.org; Thu, 04 Jun 2020 09:19:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58724) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jgpk2-0007wC-QS for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:06 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:47124 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jgpk1-00023y-32 for qemu-devel@nongnu.org; Thu, 04 Jun 2020 09:17:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591276624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=7dtnhAMur6O1hPZfDxsUXSZTfj0D83DZ5mYC+o3CW9k=; b=Yi1gPgZZEBDzZB/LQgL1XDPjyoJ+IUUmtDTK+eWjgSc0lItM6TQN35JFp6T4RVZ9gC850x YkeK8va6jMLY8xW4H5qiRthHgUjlFmU/wJSIWhVuv4s4Qb1/9JI+Igwzq3dH2Ivli7G6XV DscRaMScbrYEyhsTx2Vs4i3NjCdDhXo= 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-42-Awld3qPcNDaww1PNyHgxbQ-1; Thu, 04 Jun 2020 09:16:56 -0400 X-MC-Unique: Awld3qPcNDaww1PNyHgxbQ-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 9AE37107B29A for ; Thu, 4 Jun 2020 13:16:55 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-113-50.ams2.redhat.com [10.36.113.50]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0445761B7A; Thu, 4 Jun 2020 13:16:54 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 275181753B; Thu, 4 Jun 2020 15:16:44 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH v2 7/7] vga: build virtio-gpu as module Date: Thu, 4 Jun 2020 15:16:43 +0200 Message-Id: <20200604131643.1776-8-kraxel@redhat.com> In-Reply-To: <20200604131643.1776-1-kraxel@redhat.com> References: <20200604131643.1776-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=205.139.110.61; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/04 01:08:38 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_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: dinechin@redhat.com, Paolo Bonzini , =?utf-8?q?Dani?= =?utf-8?q?el_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Gerd Hoffmann Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" Drops libvirglrenderer.so dependency from core qemu. Signed-off-by: Gerd Hoffmann --- hw/core/qdev.c | 6 ++++++ hw/display/Makefile.objs | 23 +++++++++++++---------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 70cf84bb67d0..bc4485e93675 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -161,6 +161,12 @@ static struct { { .type = "usb-redir", .mod = "usb-redirect" }, { .type = "qxl-vga", .mod = "display-qxl" }, { .type = "qxl", .mod = "display-qxl" }, + { .type = "virtio-gpu-device", .mod = "display-virtio-gpu" }, + { .type = "virtio-gpu-pci", .mod = "display-virtio-gpu" }, + { .type = "virtio-vga", .mod = "display-virtio-gpu" }, + { .type = "vhost-user-gpu-device", .mod = "display-virtio-gpu" }, + { .type = "vhost-user-gpu-pci", .mod = "display-virtio-gpu" }, + { .type = "vhost-user-vga", .mod = "display-virtio-gpu" }, }; static bool qdev_module_loaded_all; diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs index d619594ad4d3..e907f3182b0c 100644 --- a/hw/display/Makefile.objs +++ b/hw/display/Makefile.objs @@ -49,16 +49,19 @@ common-obj-m += qxl.mo qxl.mo-objs = qxl.o qxl-logger.o qxl-render.o endif -common-obj-$(CONFIG_VIRTIO_GPU) += virtio-gpu-base.o virtio-gpu.o virtio-gpu-3d.o -common-obj-$(CONFIG_VHOST_USER_GPU) += vhost-user-gpu.o -common-obj-$(call land,$(CONFIG_VIRTIO_GPU),$(CONFIG_VIRTIO_PCI)) += virtio-gpu-pci.o -common-obj-$(call land,$(CONFIG_VHOST_USER_GPU),$(CONFIG_VIRTIO_PCI)) += vhost-user-gpu-pci.o -common-obj-$(CONFIG_VIRTIO_VGA) += virtio-vga.o -common-obj-$(CONFIG_VHOST_USER_VGA) += vhost-user-vga.o -virtio-gpu.o-cflags := $(VIRGL_CFLAGS) -virtio-gpu.o-libs += $(VIRGL_LIBS) -virtio-gpu-3d.o-cflags := $(VIRGL_CFLAGS) -virtio-gpu-3d.o-libs += $(VIRGL_LIBS) +ifeq ($(CONFIG_VIRTIO_GPU),y) +common-obj-m += virtio-gpu.mo +virtio-gpu-obj-$(CONFIG_VIRTIO_GPU) += virtio-gpu-base.o virtio-gpu.o virtio-gpu-3d.o +virtio-gpu-obj-$(CONFIG_VHOST_USER_GPU) += vhost-user-gpu.o +virtio-gpu-obj-$(call land,$(CONFIG_VIRTIO_GPU),$(CONFIG_VIRTIO_PCI)) += virtio-gpu-pci.o +virtio-gpu-obj-$(call land,$(CONFIG_VHOST_USER_GPU),$(CONFIG_VIRTIO_PCI)) += vhost-user-gpu-pci.o +virtio-gpu-obj-$(CONFIG_VIRTIO_VGA) += virtio-vga.o +virtio-gpu-obj-$(CONFIG_VHOST_USER_VGA) += vhost-user-vga.o +virtio-gpu.mo-objs := $(virtio-gpu-obj-y) +virtio-gpu.mo-cflags := $(VIRGL_CFLAGS) +virtio-gpu.mo-libs := $(VIRGL_LIBS) +endif + common-obj-$(CONFIG_DPCD) += dpcd.o common-obj-$(CONFIG_XLNX_ZYNQMP_ARM) += xlnx_dp.o