From patchwork Thu Jul 23 17:46:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe de Dinechin X-Patchwork-Id: 11681415 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 A2423722 for ; Thu, 23 Jul 2020 17:47:13 +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 48756206F4 for ; Thu, 23 Jul 2020 17:47:13 +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="FdtAQ47L" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 48756206F4 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]:41056 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jyfJI-0005a2-6J for patchwork-qemu-devel@patchwork.kernel.org; Thu, 23 Jul 2020 13:47:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43218) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jyfIh-00050L-TL for qemu-devel@nongnu.org; Thu, 23 Jul 2020 13:46:35 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:32914 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 1jyfIf-00047q-VN for qemu-devel@nongnu.org; Thu, 23 Jul 2020 13:46:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1595526393; 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; bh=mqPjPxI/e2dwAxJUrCftiGEZiFbyQIwzwnp49pUraKI=; b=FdtAQ47LZAhJtnMnHeZYlELglYypZaNvnkWUIjK74ydZAK2CunxDFxLD3eLSM2+T4RwSX9 C8v6NDP1dI3RZxuE7bQAte0pCjnKWuKU/aVEuZxSOlLNNH3BSn98xMP3pvTQPp2raTr2Fa xSJ7h9zX30WD4q0Ca5roZXsYC3JOcnA= 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-214-Vxv5Nz_SM8uSTIvT4kj84g-1; Thu, 23 Jul 2020 13:46:30 -0400 X-MC-Unique: Vxv5Nz_SM8uSTIvT4kj84g-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 66A90106B242; Thu, 23 Jul 2020 17:46:29 +0000 (UTC) Received: from turbo.com (ovpn-113-141.ams2.redhat.com [10.36.113.141]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1D5A45C6D9; Thu, 23 Jul 2020 17:46:16 +0000 (UTC) From: Christophe de Dinechin To: qemu-devel@nongnu.org, kraxel@redhat.com Subject: [PATCH 0/7] Make SPICE a load module Date: Thu, 23 Jul 2020 19:46:08 +0200 Message-Id: <20200723174615.2370096-1-dinechin@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=205.139.110.61; envelope-from=dinechin@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/23 02:33:29 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -40 X-Spam_score: -4.1 X-Spam_bar: ---- X-Spam_report: (-4.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, 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=-1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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: Eduardo Habkost , "Michael S. Tsirkin" , "Dr. David Alan Gilbert" , Markus Armbruster , Paolo Bonzini , Cleber Rosa , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" This series builds the qemu SPICE code into a load module in order to remove the number of shared libraries that the main qemu binary depends on. It is intended to be built on the work that Gerd shared recently regarding modular devices and chardev initialization. I left the patch I used in the series since Gerd may still be working on it. With these changes, the following shared libraries are no longer needed in the main binary: libspice-server.so.1 libopus.so.0 liblz4.so.1 libgstapp-1.0.so.0 libgstvideo-1.0.so.0 libgstbase-1.0.so.0 libgstreamer-1.0.so.0 libssl.so.1.1 liborc-0.4.so.0 There are still some not-so-nice changes in the makefiles, e.g. references to ../directory/foo.o. I don't want to invest too much time in fixing it the right way if Meson changes the way these things are built. Christophe de Dinechin (5): minikconf: Pass variables for modules spice: Make spice a module configuration spice: Move all the spice-related code in spice-app.so build: Add SPICE_CFLAGS and SPICE_LIBS to relevant files spice: Call qemu spice functions indirectly Gerd Hoffmann (2): spice: simplify chardev setup build: fix device module builds audio/Makefile.objs | 2 +- chardev/Makefile.objs | 2 +- chardev/spice.c | 29 ++++------------ configure | 6 ++-- dtc | 2 +- hw/display/Makefile.objs | 1 + hw/i386/pc.c | 1 - include/chardev/spice.h | 1 - include/ui/qemu-spice.h | 75 ++++++++++++++++++---------------------- monitor/Makefile.objs | 3 ++ monitor/hmp-cmds.c | 13 +++++++ monitor/misc.c | 2 +- monitor/qmp-cmds.c | 6 ++-- roms/SLOF | 2 +- roms/openbios | 2 +- roms/opensbi | 2 +- roms/seabios | 2 +- scripts/minikconf.py | 4 +-- slirp | 2 +- softmmu/Makefile.objs | 2 +- softmmu/vl.c | 35 ++++++++++++++++--- ui/Makefile.objs | 12 +++---- ui/spice-app.c | 17 ++++----- ui/spice-core.c | 35 ++++++++++++++++--- 24 files changed, 150 insertions(+), 108 deletions(-)