From nobody Tue Feb 10 20:07:20 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1670261668462879.8002628596844; Mon, 5 Dec 2022 09:34:28 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p2FKM-0007qM-Mq; Mon, 05 Dec 2022 12:32:27 -0500 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 1p2FKK-0007ph-En for qemu-devel@nongnu.org; Mon, 05 Dec 2022 12:32:24 -0500 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p2FJx-0007Q3-N2 for qemu-devel@nongnu.org; Mon, 05 Dec 2022 12:32:24 -0500 Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92]) by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1p2FJw-003TwN-MR; Mon, 05 Dec 2022 17:32:00 +0000 Received: from dwoodhou by i7.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1p2FJo-002YJw-HF; Mon, 05 Dec 2022 17:31:52 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description; bh=oWg3bACyN27qCqd7T3bd4nHSMuqE7sDFmlT8U9gsszA=; b=BTKRTeRmxdwwxkwcK1j8efmH8S iQP0B3ueDXYzcckWGhQMGS7AwrzEdNgaq35AZ7GT8lq5agVFat0TUiRHcNVc84vcIl0wjJAPADvG7 2ixQj+srdVVz9kFlHI/4WyPUCdlrqI+o8T3pWvgsE2n1GBhes5nPFsy+ylbGkfGvKFRDPD7F5FYzi SKM4tsm+suc86UHQO1WoYWWodC7tyT3Drucdizux+kxKfTNKbcy2UaDT01Zt4g9x6Fn01ILFMTwW6 PIF68/aJqZyIoQF2dKWx1uQtd2mal2ZvYlOBr9bFD0jrQGVvF7lebVVMG94rarvg2zP6Fqq4i1hp5 gFjUw4Mw==; From: David Woodhouse To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Paul Durrant , Joao Martins , Ankur Arora Subject: [RFC PATCH 06/21] pc_piix: handle XEN_EMULATE backend init Date: Mon, 5 Dec 2022 17:31:22 +0000 Message-Id: <20221205173137.607044-7-dwmw2@infradead.org> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20221205173137.607044-1-dwmw2@infradead.org> References: <20221205173137.607044-1-dwmw2@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SRS-Rewrite: SMTP reverse-path rewritten from by casper.infradead.org. See http://www.infradead.org/rpr.html 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: none client-ip=2001:8b0:10b:1236::1; envelope-from=BATV+f9b04eb53d39f4899ead+7043+infradead.org+dwmw2@casper.srs.infradead.org; helo=casper.infradead.org X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=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: fail (Header signature does not verify) X-ZM-MESSAGEID: 1670261669825100008 Content-Type: text/plain; charset="utf-8" From: Joao Martins And use newly added xen_emulated_machine_init() to iniitalize the xenstore and the sysdev bus for future emulated devices. Signed-off-by: Joao Martins [dwmw2: Move it to xen-legacy-backend.c] Signed-off-by: David Woodhouse --- hw/i386/pc_piix.c | 5 +++++ hw/xen/xen-legacy-backend.c | 22 ++++++++++++++++------ include/hw/xen/xen-legacy-backend.h | 2 ++ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 13286d0739..3dcac2f4b6 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -47,6 +47,7 @@ #include "hw/sysbus.h" #include "hw/i2c/smbus_eeprom.h" #include "hw/xen/xen-x86.h" +#include "hw/xen/xen-legacy-backend.h" #include "exec/memory.h" #include "hw/acpi/acpi.h" #include "hw/acpi/piix4.h" @@ -155,6 +156,10 @@ static void pc_init1(MachineState *machine, x86ms->above_4g_mem_size =3D 0; x86ms->below_4g_mem_size =3D machine->ram_size; } + + if (pcms->xen_version && !xen_be_xenstore_open()) { + xen_emulated_machine_init(); + } } =20 pc_machine_init_sgx_epc(pcms); diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c index 694e7bbc54..60a7bc7ab6 100644 --- a/hw/xen/xen-legacy-backend.c +++ b/hw/xen/xen-legacy-backend.c @@ -31,6 +31,7 @@ #include "qapi/error.h" #include "hw/xen/xen-legacy-backend.h" #include "hw/xen/xen_pvdev.h" +#include "hw/xen/xen-bus.h" #include "monitor/qdev.h" =20 DeviceState *xen_sysdev; @@ -294,13 +295,15 @@ static struct XenLegacyDevice *xen_be_get_xendev(cons= t char *type, int dom, xendev->debug =3D debug; xendev->local_port =3D -1; =20 - xendev->evtchndev =3D xenevtchn_open(NULL, 0); - if (xendev->evtchndev =3D=3D NULL) { - xen_pv_printf(NULL, 0, "can't open evtchn device\n"); - qdev_unplug(DEVICE(xendev), NULL); - return NULL; + if (xen_mode !=3D XEN_EMULATE) { + xendev->evtchndev =3D xenevtchn_open(NULL, 0); + if (xendev->evtchndev =3D=3D NULL) { + xen_pv_printf(NULL, 0, "can't open evtchn device\n"); + qdev_unplug(DEVICE(xendev), NULL); + return NULL; + } + qemu_set_cloexec(xenevtchn_fd(xendev->evtchndev)); } - qemu_set_cloexec(xenevtchn_fd(xendev->evtchndev)); =20 xen_pv_insert_xendev(xendev); =20 @@ -859,3 +862,10 @@ static void xenbe_register_types(void) } =20 type_init(xenbe_register_types) + +void xen_emulated_machine_init(void) +{ + xen_bus_init(); + xen_be_sysdev_init(); + xen_be_register_common(); +} diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legac= y-backend.h index 0aa171f6c2..aa09015662 100644 --- a/include/hw/xen/xen-legacy-backend.h +++ b/include/hw/xen/xen-legacy-backend.h @@ -105,4 +105,6 @@ int xen_config_dev_vfb(int vdev, const char *type); int xen_config_dev_vkbd(int vdev); int xen_config_dev_console(int vdev); =20 +void xen_emulated_machine_init(void); + #endif /* HW_XEN_LEGACY_BACKEND_H */ --=20 2.35.3