From nobody Sun May 19 05:50:55 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1696323533; cv=none; d=zohomail.com; s=zohoarc; b=LL4K6QJUzkHwRG0s2wwKSVrhSvGJ/I6Hon1uXbpQg5qjOg3eEA7bViPNcrCBsTbn4AjKSqHSsqHxnqPbWYAPY7HTNChTZQhzoyaeDjpkh1JOiLc4RtLmt/If7y+DtE1ffccAOdVTw8aKpIYrbpTF2ewNfMHGrNJ7z2sfmQ+76Ck= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696323533; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=CvgWK1OCdtf04IF1Gguceuv0a9rcTqZNHJSEAT+LKpY=; b=TujkkMZFhrQOFaqQt2u4tGf24H/96M+0cmacAX/LBCBNL3Wdl2Ysx3KGpaGHgR97vDKMPZtt10tJUu8jeMzbv84mMIOx64JSPVOOKjBVSw904bZ//7WiVY6rmUQHVpdHhkVBl4UaMRKqpD1MHSfWOtzJAwSaYmjFENE6By+pMBI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696323533052320.50311589736907; Tue, 3 Oct 2023 01:58:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qnbDH-0004YE-3E; Tue, 03 Oct 2023 04:57:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnbDD-0004Xj-Hk for qemu-devel@nongnu.org; Tue, 03 Oct 2023 04:57:03 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnbDA-00061O-U1 for qemu-devel@nongnu.org; Tue, 03 Oct 2023 04:57:03 -0400 Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-353-n1P9-VvmMlaWrgNnSp1_ug-1; Tue, 03 Oct 2023 04:56:53 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5C9173C100A6; Tue, 3 Oct 2023 08:56:53 +0000 (UTC) Received: from localhost (unknown [10.39.208.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id ECBD0493113; Tue, 3 Oct 2023 08:56:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696323419; 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=CvgWK1OCdtf04IF1Gguceuv0a9rcTqZNHJSEAT+LKpY=; b=KvOx9Qnh3BgsMa3Mzb0AqJZQlpvGZLWYhJXa+le9sQs4RWkZ2+iqpf93FNCDUIxHZ1NGZO DjaD72Jfj5o8HwlWMnhczwXcqitFcG1A4R3dnRcAbZ1fXZE0PT+4EfgruUqAJP0MnkK59y pZ0a6kFGQ/qpkUUNzqZAdH7vGt+4LaM= X-MC-Unique: n1P9-VvmMlaWrgNnSp1_ug-1 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: Alex Williamson , lersek@redhat.com, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , kraxel@redhat.com, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Marcel Apfelbaum , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yanan Wang Subject: [PATCH v3 1/5] hw/core: remove needless includes Date: Tue, 3 Oct 2023 12:56:40 +0400 Message-ID: <20231003085644.1220326-2-marcandre.lureau@redhat.com> In-Reply-To: <20231003085644.1220326-1-marcandre.lureau@redhat.com> References: <20231003085644.1220326-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1696323535167100003 From: Marc-Andr=C3=A9 Lureau The include list is large, make it smaller. Signed-off-by: Marc-Andr=C3=A9 Lureau Acked-by: Laszlo Ersek --- hw/core/machine.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/hw/core/machine.c b/hw/core/machine.c index a232ae0bcd..df40f10dfa 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -11,32 +11,22 @@ */ =20 #include "qemu/osdep.h" -#include "qemu/option.h" #include "qemu/accel.h" #include "sysemu/replay.h" -#include "qemu/units.h" #include "hw/boards.h" #include "hw/loader.h" #include "qapi/error.h" -#include "qapi/qapi-visit-common.h" #include "qapi/qapi-visit-machine.h" -#include "qapi/visitor.h" #include "qom/object_interfaces.h" -#include "hw/sysbus.h" #include "sysemu/cpus.h" #include "sysemu/sysemu.h" #include "sysemu/reset.h" #include "sysemu/runstate.h" -#include "sysemu/numa.h" #include "sysemu/xen.h" -#include "qemu/error-report.h" #include "sysemu/qtest.h" -#include "hw/pci/pci.h" #include "hw/mem/nvdimm.h" #include "migration/global_state.h" -#include "migration/vmstate.h" #include "exec/confidential-guest-support.h" -#include "hw/virtio/virtio.h" #include "hw/virtio/virtio-pci.h" #include "hw/virtio/virtio-net.h" =20 --=20 2.41.0 From nobody Sun May 19 05:50:55 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1696323444; cv=none; d=zohomail.com; s=zohoarc; b=UClzHqmGKeOAztNeRswvP4EGs6fuOvUh0XdNecpCZ2LpafIBYpEAY3o/KBUupax4wG9pF4g/grFfQH4Qq92jtFkKNALn3RuiV6ve8Moevt8o/+i1iQf8pxN6INnjnjc0FxKKF7IN6Gi+EM5erbuPPejr+LatMx4CyfjoXDJpC8U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696323444; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MasSAAVsO3OueY3RL2PBX64ZOkCPFHLe6CAtsAvT3cI=; b=les3n0d24imCVEGByXNFAjNYd9NS8i1vsHl/wrZkDQqRWtF0VAkntxw/pJ1ebXr/ldCl7YwxT5GPexCsTuqsIaWnSEWTr7SOr3Bh/O4ZWYNmNfTWcpgDZ0j8wdiAhpP4/4fb5LeRo+PkmRdMS55o6Yz287HkkihJsiO01GbtAC0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696323444413573.5071580095365; Tue, 3 Oct 2023 01:57:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qnbDI-0004Yk-Uk; Tue, 03 Oct 2023 04:57:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnbDF-0004Xt-01 for qemu-devel@nongnu.org; Tue, 03 Oct 2023 04:57:05 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnbDA-00061P-AA for qemu-devel@nongnu.org; Tue, 03 Oct 2023 04:57:04 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-470-Uk7zDn_BOrypkXuKhV2Ocw-1; Tue, 03 Oct 2023 04:56:57 -0400 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 76EAA811E7D; Tue, 3 Oct 2023 08:56:57 +0000 (UTC) Received: from localhost (unknown [10.39.208.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 74887400E89; Tue, 3 Oct 2023 08:56:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696323419; 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=MasSAAVsO3OueY3RL2PBX64ZOkCPFHLe6CAtsAvT3cI=; b=h9wx5kvMXNzQwz/YzrvhCtl0hh/RSJtKP+D+U9bh2ESxJD6mlLRv9NbLQgjjx8fv1B29pg dWIBzueZeGBBY4Yo12WXsgUhgBR1Zd6XYRVT9jj3jiJVPReixAzLKVnsFmik6CxI+onqJw F+69sUvzeza9hznuWkydq3REqMyTxBI= X-MC-Unique: Uk7zDn_BOrypkXuKhV2Ocw-1 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: Alex Williamson , lersek@redhat.com, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , kraxel@redhat.com, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , "Michael S. Tsirkin" , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PATCH v3 2/5] hw/pc: remove needless includes Date: Tue, 3 Oct 2023 12:56:41 +0400 Message-ID: <20231003085644.1220326-3-marcandre.lureau@redhat.com> In-Reply-To: <20231003085644.1220326-1-marcandre.lureau@redhat.com> References: <20231003085644.1220326-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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_H3=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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1696323445543100002 From: Marc-Andr=C3=A9 Lureau The include list is gigantic, make it smaller. Signed-off-by: Marc-Andr=C3=A9 Lureau Acked-by: Laszlo Ersek --- hw/i386/pc.c | 41 ----------------------------------------- 1 file changed, 41 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 5d399b6247..c376c5032d 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -24,79 +24,38 @@ =20 #include "qemu/osdep.h" #include "qemu/units.h" -#include "hw/i386/x86.h" #include "hw/i386/pc.h" #include "hw/char/serial.h" #include "hw/char/parallel.h" -#include "hw/i386/topology.h" #include "hw/i386/fw_cfg.h" #include "hw/i386/vmport.h" #include "sysemu/cpus.h" -#include "hw/block/fdc.h" #include "hw/ide/internal.h" -#include "hw/ide/isa.h" -#include "hw/pci/pci.h" -#include "hw/pci/pci_bus.h" -#include "hw/pci-bridge/pci_expander_bridge.h" -#include "hw/nvram/fw_cfg.h" #include "hw/timer/hpet.h" -#include "hw/firmware/smbios.h" #include "hw/loader.h" -#include "elf.h" -#include "migration/vmstate.h" -#include "multiboot.h" #include "hw/rtc/mc146818rtc.h" #include "hw/intc/i8259.h" -#include "hw/intc/ioapic.h" #include "hw/timer/i8254.h" #include "hw/input/i8042.h" -#include "hw/irq.h" #include "hw/audio/pcspk.h" -#include "hw/pci/msi.h" -#include "hw/sysbus.h" #include "sysemu/sysemu.h" -#include "sysemu/tcg.h" -#include "sysemu/numa.h" -#include "sysemu/kvm.h" #include "sysemu/xen.h" #include "sysemu/reset.h" -#include "sysemu/runstate.h" #include "kvm/kvm_i386.h" -#include "hw/xen/xen.h" -#include "hw/xen/start_info.h" -#include "ui/qemu-spice.h" -#include "exec/memory.h" -#include "qemu/bitmap.h" -#include "qemu/config-file.h" -#include "qemu/error-report.h" -#include "qemu/option.h" -#include "qemu/cutils.h" -#include "hw/acpi/acpi.h" #include "hw/acpi/cpu_hotplug.h" #include "acpi-build.h" -#include "hw/mem/pc-dimm.h" #include "hw/mem/nvdimm.h" -#include "hw/cxl/cxl.h" #include "hw/cxl/cxl_host.h" -#include "qapi/error.h" -#include "qapi/qapi-visit-common.h" -#include "qapi/qapi-visit-machine.h" -#include "qapi/visitor.h" -#include "hw/core/cpu.h" #include "hw/usb.h" #include "hw/i386/intel_iommu.h" #include "hw/net/ne2000-isa.h" -#include "standard-headers/asm-x86/bootparam.h" #include "hw/virtio/virtio-iommu.h" #include "hw/virtio/virtio-md-pci.h" #include "hw/i386/kvm/xen_overlay.h" #include "hw/i386/kvm/xen_evtchn.h" #include "hw/i386/kvm/xen_gnttab.h" #include "hw/i386/kvm/xen_xenstore.h" -#include "sysemu/replay.h" -#include "target/i386/cpu.h" #include "e820_memory_layout.h" -#include "fw_cfg.h" #include "trace.h" #include CONFIG_DEVICES =20 --=20 2.41.0 From nobody Sun May 19 05:50:55 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1696323500; cv=none; d=zohomail.com; s=zohoarc; b=WHu8fIeVR2JrC9aS+Lop7LhDuMec3zrc2mJ0bxPvcQ1WQLqRYaNCNAdwmsBloInC1v4EapklJSBFaAPRTQCy0NCxmRSmWaRt5hEXYnugMhf3No2Mqrz53s70Y5M3ZLCgf4HE/nt/4khi8+x1tBETnKXrv6JEZlnifwaO5TqwRu0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696323500; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=di+gjJ7xg7sqlbEKFkCRNq81+BLBzDPze2Tes4z1OAc=; b=IocYjhNb8BuBz5IT+Fr1yqAlKXYmdbvjJTPjXZLJ6JFTIgIpV7lodpuTzX+QEKAmvY+RejukynkQQG6V74ixlaqGaCMra66D/zDb+Z477V0q6K/gzTUP58wccLefbUFROzlAMIZtC9CQoIWiHHT0PytJJ5FuvMd69T1O2j6ahc4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696323500154626.5956673499602; Tue, 3 Oct 2023 01:58:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qnbDa-0004aF-Bh; Tue, 03 Oct 2023 04:57:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnbDQ-0004ZS-PF for qemu-devel@nongnu.org; Tue, 03 Oct 2023 04:57:16 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnbDP-00062r-8X for qemu-devel@nongnu.org; Tue, 03 Oct 2023 04:57:16 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-14-hWyyPCKMPMiW7atuLN6z2w-1; Tue, 03 Oct 2023 04:57:01 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 16334811E7B for ; Tue, 3 Oct 2023 08:57:01 +0000 (UTC) Received: from localhost (unknown [10.39.208.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2B4B740C6EA8; Tue, 3 Oct 2023 08:56:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696323433; 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=di+gjJ7xg7sqlbEKFkCRNq81+BLBzDPze2Tes4z1OAc=; b=bxmi6239J0hGLzU0otSNcGItabi2BRvhzsO4AEv+eFSiLIGpa5aOzZT8rFyTRImh+AksR1 lTXrRlFUznXyKVMSC8pqvuPjJWKfbPEif2v4a/FTO5UbH4mb7BckRlJ59OD4FabKRIigzl 6SFtx0S7ISpDKcowfbH3++KPLCUD7eI= X-MC-Unique: hWyyPCKMPMiW7atuLN6z2w-1 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: Alex Williamson , lersek@redhat.com, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , kraxel@redhat.com, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Subject: [PATCH v3 3/5] ramfb: add migration support Date: Tue, 3 Oct 2023 12:56:42 +0400 Message-ID: <20231003085644.1220326-4-marcandre.lureau@redhat.com> In-Reply-To: <20231003085644.1220326-1-marcandre.lureau@redhat.com> References: <20231003085644.1220326-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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_H3=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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1696323502070100007 From: Marc-Andr=C3=A9 Lureau Implementing RAMFB migration is quite straightforward. One caveat is to treat the whole RAMFBCfg as a blob, since that's what is exposed to the guest directly. This avoid having to fiddle with endianness issues if we were to migrate fields individually as integers. The devices using RAMFB will have to include ramfb_vmstate in their migration description. Signed-off-by: Marc-Andr=C3=A9 Lureau --- include/hw/display/ramfb.h | 4 ++++ hw/display/ramfb.c | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/include/hw/display/ramfb.h b/include/hw/display/ramfb.h index b33a2c467b..a7e0019144 100644 --- a/include/hw/display/ramfb.h +++ b/include/hw/display/ramfb.h @@ -1,11 +1,15 @@ #ifndef RAMFB_H #define RAMFB_H =20 +#include "migration/vmstate.h" + /* ramfb.c */ typedef struct RAMFBState RAMFBState; void ramfb_display_update(QemuConsole *con, RAMFBState *s); RAMFBState *ramfb_setup(Error **errp); =20 +extern const VMStateDescription ramfb_vmstate; + /* ramfb-standalone.c */ #define TYPE_RAMFB_DEVICE "ramfb" =20 diff --git a/hw/display/ramfb.c b/hw/display/ramfb.c index 79b9754a58..32ccb7053b 100644 --- a/hw/display/ramfb.c +++ b/hw/display/ramfb.c @@ -28,6 +28,8 @@ struct QEMU_PACKED RAMFBCfg { uint32_t stride; }; =20 +typedef struct RAMFBCfg RAMFBCfg; + struct RAMFBState { DisplaySurface *ds; uint32_t width, height; @@ -115,6 +117,23 @@ void ramfb_display_update(QemuConsole *con, RAMFBState= *s) dpy_gfx_update_full(con); } =20 +static int ramfb_post_load(void *opaque, int version_id) +{ + ramfb_fw_cfg_write(opaque, 0, 0); + return 0; +} + +const VMStateDescription ramfb_vmstate =3D { + .name =3D "ramfb", + .version_id =3D 1, + .minimum_version_id =3D 1, + .post_load =3D ramfb_post_load, + .fields =3D (VMStateField[]) { + VMSTATE_BUFFER_UNSAFE(cfg, RAMFBState, 0, sizeof(RAMFBCfg)), + VMSTATE_END_OF_LIST() + } +}; + RAMFBState *ramfb_setup(Error **errp) { FWCfgState *fw_cfg =3D fw_cfg_find(); --=20 2.41.0 From nobody Sun May 19 05:50:55 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1696323514; cv=none; d=zohomail.com; s=zohoarc; b=WBOLGDbqqhSOZQWmxfwQPC0I6HRZlm1xldU0bX8Ii2hT2tfx0x3/wdspU0b9IA5N6Vdw74LYfE0umoZHdCMOJuVgWZDEsyhtF89FGvbTghUY/8bWj1gx+zTX5BCp/1oqpbMJZcY9VaLzhdo/mGj8xWhYaWkaXLyiTcRRhgAtBF0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696323514; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zlftELdBxGJY5aZ5bQGDxYDyRCUFmkbXwjprSdZdJHc=; b=f7DhBiMCMrgb4Nhcz25kVmdc5I2aR8tW7SwKWIATqceDcZXi41iHf+nLdpFzTVw6WOPKTeVKiZub7mDSVipf8fcMjJc7r4mpY69HCh+qMlJkt9pv4H8IpSJbDJTxcJ1s6VMUVXbGAr6CELrNeYnYuU/fL+l60Y+dQSoILoKm/Iw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696323514903584.2649604144523; Tue, 3 Oct 2023 01:58:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qnbDQ-0004ZK-QW; Tue, 03 Oct 2023 04:57:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnbDJ-0004Z1-IK for qemu-devel@nongnu.org; Tue, 03 Oct 2023 04:57:09 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnbDH-00062Q-NW for qemu-devel@nongnu.org; Tue, 03 Oct 2023 04:57:09 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-169-KExtRzYlNUuRyzSlszg5zQ-1; Tue, 03 Oct 2023 04:57:05 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 14B5B811E91; Tue, 3 Oct 2023 08:57:05 +0000 (UTC) Received: from localhost (unknown [10.39.208.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 137A82156701; Tue, 3 Oct 2023 08:57:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696323426; 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=zlftELdBxGJY5aZ5bQGDxYDyRCUFmkbXwjprSdZdJHc=; b=YR8hZsc1P52XE+UHU1vy0LYpyj3MtcuZY1ytR8DIud0PVkNL0/H1UrqyJvxb5/+wjY46By huUZFyFRaRV4es2vNQR1/vs0a7dw8+hmNKCNe0seDPwQ4Dysklr2kReY8tpxJnKsyWkbxQ q/kU1kav/TQ0GfJ0NXc/E6EO1wXfxzo= X-MC-Unique: KExtRzYlNUuRyzSlszg5zQ-1 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: Alex Williamson , lersek@redhat.com, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , kraxel@redhat.com, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Marcel Apfelbaum , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yanan Wang Subject: [PATCH v3 4/5] ramfb-standalone: add migration support Date: Tue, 3 Oct 2023 12:56:43 +0400 Message-ID: <20231003085644.1220326-5-marcandre.lureau@redhat.com> In-Reply-To: <20231003085644.1220326-1-marcandre.lureau@redhat.com> References: <20231003085644.1220326-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1696323515639100001 From: Marc-Andr=C3=A9 Lureau Add a "ramfb-dev" section whenever "x-migrate" is turned on. Turn it off by default on machines <=3D 8.1 for compatibility reasons. Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Laszlo Ersek --- hw/core/machine.c | 4 +++- hw/display/ramfb-standalone.c | 27 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/hw/core/machine.c b/hw/core/machine.c index df40f10dfa..47a07d1d9b 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -30,7 +30,9 @@ #include "hw/virtio/virtio-pci.h" #include "hw/virtio/virtio-net.h" =20 -GlobalProperty hw_compat_8_1[] =3D {}; +GlobalProperty hw_compat_8_1[] =3D { + { "ramfb", "x-migrate", "off" }, +}; const size_t hw_compat_8_1_len =3D G_N_ELEMENTS(hw_compat_8_1); =20 GlobalProperty hw_compat_8_0[] =3D { diff --git a/hw/display/ramfb-standalone.c b/hw/display/ramfb-standalone.c index 8c0094397f..a96e7ebcd9 100644 --- a/hw/display/ramfb-standalone.c +++ b/hw/display/ramfb-standalone.c @@ -1,4 +1,5 @@ #include "qemu/osdep.h" +#include "migration/vmstate.h" #include "qapi/error.h" #include "qemu/module.h" #include "hw/loader.h" @@ -15,6 +16,7 @@ struct RAMFBStandaloneState { SysBusDevice parent_obj; QemuConsole *con; RAMFBState *state; + bool migrate; }; =20 static void display_update_wrapper(void *dev) @@ -40,14 +42,39 @@ static void ramfb_realizefn(DeviceState *dev, Error **e= rrp) ramfb->state =3D ramfb_setup(errp); } =20 +static bool migrate_needed(void *opaque) +{ + RAMFBStandaloneState *ramfb =3D RAMFB(opaque); + + return ramfb->migrate; +} + +static const VMStateDescription ramfb_dev_vmstate =3D { + .name =3D "ramfb-dev", + .version_id =3D 1, + .minimum_version_id =3D 1, + .needed =3D migrate_needed, + .fields =3D (VMStateField[]) { + VMSTATE_STRUCT_POINTER(state, RAMFBStandaloneState, ramfb_vmstate,= RAMFBState), + VMSTATE_END_OF_LIST() + } +}; + +static Property ramfb_properties[] =3D { + DEFINE_PROP_BOOL("x-migrate", RAMFBStandaloneState, migrate, true), + DEFINE_PROP_END_OF_LIST(), +}; + static void ramfb_class_initfn(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 set_bit(DEVICE_CATEGORY_DISPLAY, dc->categories); + dc->vmsd =3D &ramfb_dev_vmstate; dc->realize =3D ramfb_realizefn; dc->desc =3D "ram framebuffer standalone device"; dc->user_creatable =3D true; + device_class_set_props(dc, ramfb_properties); } =20 static const TypeInfo ramfb_info =3D { --=20 2.41.0 From nobody Sun May 19 05:50:55 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1696323483; cv=none; d=zohomail.com; s=zohoarc; b=GgX+yxjMUc3niUrMES11A2QrZIJ6X8JsObh09gU5BRix2tN4q7y9b5qvuWn8a6Q6TwN+3NUXGc2FjlXFholrGk9ppeef3010vSiD/pu6KVvFOaRVac1A1H1CdDbEKuT4i7MEc5DU+JBTPfMbZsWPdJ0vlYbVQxn+x3en3WbPhHY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696323483; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1t8VWc2veUeWD2kah/MNb40uj4RjwtmcTWLm0rHOIYg=; b=cIxIeINyoV2VOQl7EFtjwB1fmwLze14IHiuoQRBrtMqhMmoV/uT2ZJsiTR7tHzR8iDq9dDmuLCErxg6JCxI/INsQbAaLhcpkw/dkSN+8M/7ygJz1yrO+irDI//oeZLqM9tlCe3eNZIKi6VCPmDGgtgjEOnrIdfxRsqTHw2esTno= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696323482936573.5319385742968; Tue, 3 Oct 2023 01:58:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qnbDh-0004gE-DV; Tue, 03 Oct 2023 04:57:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnbDc-0004eD-Q5 for qemu-devel@nongnu.org; Tue, 03 Oct 2023 04:57:28 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnbDb-00063d-5O for qemu-devel@nongnu.org; Tue, 03 Oct 2023 04:57:28 -0400 Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-92-DgRq1Vx8M0WZ3V2JPOCorQ-1; Tue, 03 Oct 2023 04:57:09 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 169123C100A8; Tue, 3 Oct 2023 08:57:09 +0000 (UTC) Received: from localhost (unknown [10.39.208.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id E90EB2156701; Tue, 3 Oct 2023 08:57:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696323446; 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=1t8VWc2veUeWD2kah/MNb40uj4RjwtmcTWLm0rHOIYg=; b=AYZ2w5jt1Ihv7iTSt5+8CcdNYGCy+zOMI2wrsPRSaHjCx1XR580qi9jYXmr+JjJmIS/OHy gD42gSCnmost9QaRTnJ93UkxDn4yRuOSGVB7JERGb6smFn1W+kuJwmYePu+Qb0h7h5Gh1w gpcv/zeWrlRjMmlJepQ68uH0W+3LnwU= X-MC-Unique: DgRq1Vx8M0WZ3V2JPOCorQ-1 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: Alex Williamson , lersek@redhat.com, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , kraxel@redhat.com, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost , Marcel Apfelbaum , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yanan Wang Subject: [PATCH v3 5/5] hw/vfio: add ramfb migration support Date: Tue, 3 Oct 2023 12:56:44 +0400 Message-ID: <20231003085644.1220326-6-marcandre.lureau@redhat.com> In-Reply-To: <20231003085644.1220326-1-marcandre.lureau@redhat.com> References: <20231003085644.1220326-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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_H3=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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1696323483776100003 From: Marc-Andr=C3=A9 Lureau Add a "VFIODisplay" subsection whenever "x-ramfb-migrate" is turned on. Turn it off by default on machines <=3D 8.1 for compatibility reasons. Signed-off-by: Marc-Andr=C3=A9 Lureau --- hw/vfio/pci.h | 3 +++ hw/core/machine.c | 1 + hw/vfio/display.c | 23 +++++++++++++++++++++++ hw/vfio/pci.c | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 59 insertions(+) diff --git a/hw/vfio/pci.h b/hw/vfio/pci.h index 2d836093a8..fd06695542 100644 --- a/hw/vfio/pci.h +++ b/hw/vfio/pci.h @@ -173,6 +173,7 @@ struct VFIOPCIDevice { bool no_kvm_ioeventfd; bool no_vfio_ioeventfd; bool enable_ramfb; + OnOffAuto ramfb_migrate; bool defer_kvm_irq_routing; bool clear_parent_atomics_on_exit; VFIODisplay *dpy; @@ -226,4 +227,6 @@ void vfio_display_reset(VFIOPCIDevice *vdev); int vfio_display_probe(VFIOPCIDevice *vdev, Error **errp); void vfio_display_finalize(VFIOPCIDevice *vdev); =20 +extern const VMStateDescription vfio_display_vmstate; + #endif /* HW_VFIO_VFIO_PCI_H */ diff --git a/hw/core/machine.c b/hw/core/machine.c index 47a07d1d9b..f2f8940a85 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -32,6 +32,7 @@ =20 GlobalProperty hw_compat_8_1[] =3D { { "ramfb", "x-migrate", "off" }, + { "vfio-pci-nohotplug", "x-ramfb-migrate", "off" } }; const size_t hw_compat_8_1_len =3D G_N_ELEMENTS(hw_compat_8_1); =20 diff --git a/hw/vfio/display.c b/hw/vfio/display.c index bec864f482..de5bf71dd1 100644 --- a/hw/vfio/display.c +++ b/hw/vfio/display.c @@ -542,3 +542,26 @@ void vfio_display_finalize(VFIOPCIDevice *vdev) vfio_display_edid_exit(vdev->dpy); g_free(vdev->dpy); } + +static bool migrate_needed(void *opaque) +{ + /* + * If we are here, it's because vfio_display_needed(), which is only t= rue + * when dpy->ramfb_migrate atm. + * + * If the migration condition is changed, we should check here if + * ramfb_migrate is true. (this will need a way to lookup the associat= ed + * VFIOPCIDevice somehow, or fields to be moved, ..) + */ + return true; +} + +const VMStateDescription vfio_display_vmstate =3D { + .name =3D "VFIODisplay", + .version_id =3D 1, + .minimum_version_id =3D 1, + .needed =3D migrate_needed, + .fields =3D (VMStateField[]) { + VMSTATE_STRUCT_POINTER(ramfb, VFIODisplay, ramfb_vmstate, RAMFBSta= te), + } +}; diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 3b2ca3c24c..4689f2e5c1 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -2608,6 +2608,25 @@ static bool vfio_msix_present(void *opaque, int vers= ion_id) return msix_present(pdev); } =20 +static bool vfio_display_needed(void *opaque) +{ + VFIOPCIDevice *vdev =3D opaque; + + /* the only thing that justifies the VFIODisplay sub-section atm */ + return vdev->ramfb_migrate !=3D ON_OFF_AUTO_OFF; +} + +const VMStateDescription vmstate_vfio_display =3D { + .name =3D "VFIOPCIDevice/VFIODisplay", + .version_id =3D 1, + .minimum_version_id =3D 1, + .needed =3D vfio_display_needed, + .fields =3D (VMStateField[]){ + VMSTATE_STRUCT_POINTER(dpy, VFIOPCIDevice, vfio_display_vmstate, V= FIODisplay), + VMSTATE_END_OF_LIST() + } +}; + const VMStateDescription vmstate_vfio_pci_config =3D { .name =3D "VFIOPCIDevice", .version_id =3D 1, @@ -2616,6 +2635,10 @@ const VMStateDescription vmstate_vfio_pci_config =3D= { VMSTATE_PCI_DEVICE(pdev, VFIOPCIDevice), VMSTATE_MSIX_TEST(pdev, VFIOPCIDevice, vfio_msix_present), VMSTATE_END_OF_LIST() + }, + .subsections =3D (const VMStateDescription*[]) { + &vmstate_vfio_display, + NULL } }; =20 @@ -3275,6 +3298,14 @@ static void vfio_realize(PCIDevice *pdev, Error **er= rp) if (!vfio_migration_realize(vbasedev, errp)) { goto out_deregister; } + if (vbasedev->enable_migration =3D=3D ON_OFF_AUTO_OFF) { + if (vdev->ramfb_migrate =3D=3D ON_OFF_AUTO_AUTO) { + vdev->ramfb_migrate =3D ON_OFF_AUTO_OFF; + } else if (vdev->ramfb_migrate =3D=3D ON_OFF_AUTO_ON) { + error_setg(errp, "x-ramfb-migrate requires migration"); + goto out_deregister; + } + } } =20 vfio_register_err_notifier(vdev); @@ -3484,6 +3515,7 @@ static const TypeInfo vfio_pci_dev_info =3D { =20 static Property vfio_pci_dev_nohotplug_properties[] =3D { DEFINE_PROP_BOOL("ramfb", VFIOPCIDevice, enable_ramfb, false), + DEFINE_PROP_ON_OFF_AUTO("x-ramfb-migrate", VFIOPCIDevice, ramfb_migrat= e, ON_OFF_AUTO_AUTO), DEFINE_PROP_END_OF_LIST(), }; =20 --=20 2.41.0