From nobody Fri Oct 31 23:30:12 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1743005107; cv=none; d=zohomail.com; s=zohoarc; b=QS8Iflj1Y6Cv7acCOr+tA1Cv+kjGZSo+N07geSlylPwYcBAm8Yn/3qV/+AM3Ol9dYjbGTSDe0xdz6MRmJRpUXDo7/13z5ZDz480rPZhn2UUavNY+RSDFuMC+nH4Wk+fHvH8HzhvyeIIOL/qRudtvmyByoCIIf3h1XVvex8bqa6Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743005107; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=76i+/SKsEEHaJ6yk2WS1+eCvnz0Uet3AVyzi+W0nPmE=; b=WsHpnxsgJYz8BOhQfiy/Ys6PKLVU7ObFCTr5zghvxSmMUH4/qxgwaKh0TH+OjPHlLpvtjelHfDn2I4WEVnzWhmKasAbpL2vYRvevLZkHSBW1YvHumyzngbkngQ4eZMun9IvI5a7T2BTSGNvW0us5Ic26kGbzl5nvp3aCOSSCCng= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1743005107309119.38583941576712; Wed, 26 Mar 2025 09:05:07 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.928051.1330818 (Exim 4.92) (envelope-from ) id 1txTFM-0001hP-Qr; Wed, 26 Mar 2025 16:04:52 +0000 Received: by outflank-mailman (output) from mailman id 928051.1330818; Wed, 26 Mar 2025 16:04:52 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1txTFM-0001hI-NT; Wed, 26 Mar 2025 16:04:52 +0000 Received: by outflank-mailman (input) for mailman id 928051; Wed, 26 Mar 2025 16:04:52 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1txTFL-0001Sq-WB for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:04:52 +0000 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 0c831113-0a5c-11f0-9ea3-5ba50f476ded; Wed, 26 Mar 2025 17:04:51 +0100 (CET) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id D3EB21F391; Wed, 26 Mar 2025 16:04:50 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 7F2B11374A; Wed, 26 Mar 2025 16:04:50 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id fPuLHaIl5Gf0aAAAD6G6ig (envelope-from ); Wed, 26 Mar 2025 16:04:50 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 0c831113-0a5c-11f0-9ea3-5ba50f476ded DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1743005091; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=76i+/SKsEEHaJ6yk2WS1+eCvnz0Uet3AVyzi+W0nPmE=; b=lc7ISap1qr60d3IkB+rP89ZMQVVczERMCvfFTFvEUjZF1yFOBRPG9San4+Bwd5rhjQCrRU Eu4PTMeNtVGJTWBV6Xs+OYRjIGloU/TiuFsgHodS4NgT1aBdHCOf9tXokd0jXi4dHoeVFp WpgeZvTc76oUb4upmkHnc+2XEhWsQIY= Authentication-Results: smtp-out2.suse.de; dkim=pass header.d=suse.com header.s=susede1 header.b=OBllyPoq DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1743005090; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=76i+/SKsEEHaJ6yk2WS1+eCvnz0Uet3AVyzi+W0nPmE=; b=OBllyPoqtfr36dk/GCUYk0V7W32FfU6lwoY1tm6wgGo4J33I08dBfiC7hjZFyCG1wUo5BS /jm3FB4C/L7aFvWpmX3xhhKS/QKnnROtYN6rBVqA3o7ZtTQbnY2JKvXX2oiZjNAv/Zu+0B PVtq9VKd75037lnxu4MJADIpJIm+WF8= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Oleksii Kurochko , Community Manager , Andrew Cooper , Anthony PERARD , Michal Orzel , Jan Beulich , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Stefano Stabellini Subject: [PATCH 1/6] SUPPORT.md: make Linux based stubdom fully supported Date: Wed, 26 Mar 2025 17:04:35 +0100 Message-ID: <20250326160442.19706-2-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250326160442.19706-1-jgross@suse.com> References: <20250326160442.19706-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: D3EB21F391 X-Spam-Score: -1.51 X-Rspamd-Action: no action X-Spamd-Result: default: False [-1.51 / 50.00]; BAYES_HAM(-3.00)[99.98%]; SUSPICIOUS_RECIPS(1.50)[]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_SOME(0.00)[]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; FUZZY_BLOCKED(0.00)[rspamd.com]; FREEMAIL_CC(0.00)[suse.com,gmail.com,xenproject.org,citrix.com,vates.tech,amd.com,xen.org,kernel.org]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:dkim,suse.com:mid,suse.com:email]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from]; RCPT_COUNT_SEVEN(0.00)[11]; TAGGED_RCPT(0.00)[]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; DKIM_TRACE(0.00)[suse.com:+]; RCVD_VIA_SMTP_AUTH(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com] X-Rspamd-Server: rspamd1.dmz-prg2.suse.org X-Spam-Flag: NO X-Spam-Level: X-ZohoMail-DKIM: pass (identity @suse.com) (identity @suse.com) X-ZM-MESSAGEID: 1743005109464019000 Content-Type: text/plain; charset="utf-8" All patches needed for running with a Linux stubdom device model are in the tree and QubesOS is using and testing Linux stubdoms nowadays. Switch support from "Tech Preview" to "Supported". Signed-off-by: Juergen Gross --- CHANGELOG.md | 1 + SUPPORT.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a5919585d..b03e2c73d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ The format is based on [Keep a Changelog](https://keepachan= gelog.com/en/1.0.0/) ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=3Dxen.git;= a=3Dshortlog;h=3Dstaging) - TBD =20 ### Changed + - Linux based device model stubdomains are now fully supported. =20 ### Added - On x86: diff --git a/SUPPORT.md b/SUPPORT.md index 91cb6f8ed2..ed4412f0af 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -260,7 +260,7 @@ Go (golang) bindings for libxl =20 Support for running qemu-xen device model in a linux stubdomain. =20 - Status: Tech Preview + Status: Supported =20 ## Xenstore =20 --=20 2.43.0 From nobody Fri Oct 31 23:30:12 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1743005126; cv=none; d=zohomail.com; s=zohoarc; b=lLbceRSNQGVV5ZPOIOiEbfgU2IpqLydZbCyGOn/D9LQhoi2p6lD+0moMTzdKQlyGFC6i0HRfg1JyMAoI3+uTbyFzc87aFVUAD82LC4bnvyF76qhi2Fd/t6byfTuUMBsV0xAvtjy7B3XIyOpIUuNxqJIvXw8qJ1hP34snXHlVurY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743005126; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Kp8xZi9xPjedmkaz5KFhjbrGCNGIxQLdI0SJt0CLi8k=; b=bP2MKKnonhdUyfJ12TcjpndvefMqVgz2eQtLu84cnZHOu2sl7UTB4J5+kEEcccRaTR9+iTgYxZjZXVwgEOXEO0wibFvoEn9KS3+BeX4YOizKPwZ3OTvyewiTMDyCATfTDxpt+XrE4WCju08oAYNwR9Ks+ZR9IkYg79G3fcXDm+8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1743005126711514.346814180198; Wed, 26 Mar 2025 09:05:26 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.928054.1330828 (Exim 4.92) (envelope-from ) id 1txTFU-000203-0t; Wed, 26 Mar 2025 16:05:00 +0000 Received: by outflank-mailman (output) from mailman id 928054.1330828; Wed, 26 Mar 2025 16:04:59 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1txTFT-0001zr-UH; Wed, 26 Mar 2025 16:04:59 +0000 Received: by outflank-mailman (input) for mailman id 928054; Wed, 26 Mar 2025 16:04:59 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1txTFT-0001z3-7m for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:04:59 +0000 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 0ff4ea1f-0a5c-11f0-9ffa-bf95429c2676; Wed, 26 Mar 2025 17:04:57 +0100 (CET) Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 9A8431F395; Wed, 26 Mar 2025 16:04:56 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 454D71374A; Wed, 26 Mar 2025 16:04:56 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id dn9rD6gl5GcAaQAAD6G6ig (envelope-from ); Wed, 26 Mar 2025 16:04:56 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 0ff4ea1f-0a5c-11f0-9ffa-bf95429c2676 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1743005096; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Kp8xZi9xPjedmkaz5KFhjbrGCNGIxQLdI0SJt0CLi8k=; b=SI0NVfPgKLFzhwR9mN8zDpVRTjc2taoCRHpcDj3sJwrwqdw+FgNvHv7+SxS5VaEd2LGcqY vuXuoMoHcVqLO2F45NZfIjPnpRVoVI1EvmZx5z3CnrXdx8PssC6Dn9ApZbSuWemKhon8la TkH7pJofjKrcVQFHkXNkDexftiUIGKs= Authentication-Results: smtp-out2.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1743005096; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Kp8xZi9xPjedmkaz5KFhjbrGCNGIxQLdI0SJt0CLi8k=; b=SI0NVfPgKLFzhwR9mN8zDpVRTjc2taoCRHpcDj3sJwrwqdw+FgNvHv7+SxS5VaEd2LGcqY vuXuoMoHcVqLO2F45NZfIjPnpRVoVI1EvmZx5z3CnrXdx8PssC6Dn9ApZbSuWemKhon8la TkH7pJofjKrcVQFHkXNkDexftiUIGKs= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Anthony PERARD , Andrew Cooper , Michal Orzel , Jan Beulich , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Stefano Stabellini Subject: [PATCH 2/6] docs: remove qemu-traditional support from documentation Date: Wed, 26 Mar 2025 17:04:36 +0100 Message-ID: <20250326160442.19706-3-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250326160442.19706-1-jgross@suse.com> References: <20250326160442.19706-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.80 X-Spamd-Result: default: False [-2.80 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_TRACE(0.00)[0:+]; FUZZY_BLOCKED(0.00)[rspamd.com]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; RCVD_TLS_ALL(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_SEVEN(0.00)[9]; RCVD_COUNT_TWO(0.00)[2]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:mid,suse.com:email] X-Spam-Flag: NO X-Spam-Level: X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1743005128663019100 Content-Type: text/plain; charset="utf-8" In preparation to no longer support qemu-traditional (including qemu-stubdom), remove it from documentation. Signed-off-by: Juergen Gross --- docs/man/xl-pci-configuration.5.pod | 4 +- docs/man/xl.cfg.5.pod.in | 46 +++------------- docs/misc/stubdom.txt | 52 ------------------- docs/misc/xenstore-paths.pandoc | 2 +- docs/process/branching-checklist.txt | 4 -- docs/process/release-technician-checklist.txt | 3 -- docs/process/xen-release-management.pandoc | 2 +- 7 files changed, 12 insertions(+), 101 deletions(-) diff --git a/docs/man/xl-pci-configuration.5.pod b/docs/man/xl-pci-configur= ation.5.pod index ec76f590b7..0691f06ad3 100644 --- a/docs/man/xl-pci-configuration.5.pod +++ b/docs/man/xl-pci-configuration.5.pod @@ -111,8 +111,8 @@ if this parameter is not specified. =3Ditem Description =20 By default pciback only allows PV guests to write "known safe" values -into PCI configuration space, likewise QEMU (both qemu-xen and -qemu-xen-traditional) imposes the same constraint on HVM guests. +into PCI configuration space, likewise QEMU imposes the same constraint +on HVM guests. However, many devices require writes to other areas of the configuration s= pace in order to operate properly. This option tells the backend (pciback or Q= EMU) to allow all writes to the PCI configuration space of this device by this diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in index 7339c44efd..ccf0c58895 100644 --- a/docs/man/xl.cfg.5.pod.in +++ b/docs/man/xl.cfg.5.pod.in @@ -895,12 +895,6 @@ is used. Specifies the path to the X authority file that should be used to connect to the X server when the B option is used. =20 -=3Ditem B - -Enable OpenGL acceleration of the SDL display. Only effects machines -using B and only if the -device-model was compiled with OpenGL support. The default is 0 (disabled). - =3Ditem B =20 Configure the keymap to use for the keyboard associated with this @@ -1215,17 +1209,14 @@ working graphics passthrough. See the XenVGAPassthr= oughTestedAdapters L wiki p= age for graphics cards currently supported by B. =20 -B is currently supported both with the qemu-xen-traditional -device-model and upstream qemu-xen device-model. +B is currently supported with the upstream qemu-xen device-m= odel. =20 When given as a boolean the B option either disables graphics card passthrough or enables autodetection. =20 When given as a string the B option describes the type of device to enable. Note that this behavior is only supported with the -upstream qemu-xen device-model. With qemu-xen-traditional IGD (Intel Graph= ics -Device) is always assumed and options other than autodetect or explicit IGD -will result in an error. +upstream qemu-xen device-model. =20 Currently, valid values for the option are: =20 @@ -1903,10 +1894,7 @@ it may be useful to request a different one, like UE= FI. =20 =3Ditem B =20 -Loads ROMBIOS, a 16-bit x86 compatible BIOS. This is used by default -when B. This is the only BIOS -option supported when B. This= is -the BIOS used by all previous Xen versions. +Loads ROMBIOS, a 16-bit x86 compatible BIOS. =20 =3Ditem B =20 @@ -1926,8 +1914,7 @@ Override the path to the blob to be used as BIOS. The= blob provided here MUST be consistent with the B which you have specified. You should not normally need to specify this option. =20 -This option does not have any effect if using B or -B. +This option does not have any effect if using B. =20 =3Ditem B =20 @@ -2516,15 +2503,10 @@ Sets the amount of RAM which the emulated video car= d will contain, which in turn limits the resolutions and bit depths which will be available. =20 -When using the qemu-xen-traditional device-model, the default as well as -minimum amount of video RAM for stdvga is 8 MB, which is sufficient for e.= g. -1600x1200 at 32bpp. For the upstream qemu-xen device-model, the default and -minimum is 16 MB. +When using stdvga, the default and minimum is 16 MB. =20 -When using the emulated Cirrus graphics card (B) and the -qemu-xen-traditional device-model, the amount of video RAM is fixed at 4 M= B, -which is sufficient for 1024x768 at 32 bpp. For the upstream qemu-xen -device-model, the default and minimum is 8 MB. +When using the emulated Cirrus graphics card (B), the +default and minimum is 8 MB. =20 For QXL vga, both the default and minimal are 128MB. If B is set less than 128MB, an error will be triggered. @@ -2590,12 +2572,6 @@ B manpage. The default is B. Specifies that the display should be presented via an X window (using Simple DirectMedia Layer). The default is (0) not enabled. =20 -=3Ditem B - -Enable OpenGL acceleration of the SDL display. Only effects machines -using B and only if the -device-model was compiled with OpenGL support. Default is (0) false. - =3Ditem B =20 Enable or disable the virtual graphics device. The default is to @@ -2925,11 +2901,6 @@ Valid values are: Use the device-model merged into the upstream QEMU project. This device-model is the default for Linux dom0. =20 -=3Ditem B - -Use the device-model based upon the historical Xen fork of QEMU. -This device-model is still the default for NetBSD dom0. - =3Dback =20 It is recommended to accept the default value for new guests. If @@ -2949,8 +2920,7 @@ to specify this option. Override the path to the kernel image used as device-model stubdomain. The binary provided here MUST be consistent with the B which you have specified. -In case of B it is expected to be MiniOS-based stubd= omain -image, in case of B it is expected to be Linux-based stubdomain +In case of B it is expected to be Linux-based stubdomain kernel. =20 =3Ditem B diff --git a/docs/misc/stubdom.txt b/docs/misc/stubdom.txt index 64c220db20..cfcba4ba96 100644 --- a/docs/misc/stubdom.txt +++ b/docs/misc/stubdom.txt @@ -23,58 +23,6 @@ and https://wiki.xen.org/wiki/Device_Model_Stub_Domains = for more information on device model stub domains =20 =20 -Toolstack to MiniOS ioemu stubdomain protocol ---------------------------------------------- - -This section describe communication protocol between toolstack and -qemu-traditional running in MiniOS stubdomain. The protocol include -expectations of both qemu and stubdomain itself. - -Setup (done by toolstack, expected by stubdomain): - - Block devices for target domain are connected as PV disks to stubdomain, - according to configuration order, starting with xvda - - Network devices for target domain are connected as PV nics to stubdomai= n, - according to configuration order, starting with 0 - - if graphics output is expected, VFB and VKB devices are set for stubdom= ain - (its backend is responsible for exposing them using appropriate protocol - like VNC or Spice) - - other target domain's devices are not connected at this point to stubdo= main - (may be hot-plugged later) - - QEMU command line (space separated arguments) is stored in - /vm//image/dmargs xenstore path - - target domain id is stored in /local/domain//target xenstor= e path -?? - bios type is stored in /local/domain//hvmloader/bios - - stubdomain's console 0 is connected to qemu log file - - stubdomain's console 1 is connected to qemu save file (for saving state) - - stubdomain's console 2 is connected to qemu save file (for restoring st= ate) - - next consoles are connected according to target guest's serial console = configuration - -Startup: -1. PV stubdomain is started with ioemu-stubdom.gz kernel and no initrd -2. stubdomain initialize relevant devices -3. stubdomain signal readiness by writing "running" to /local/domain//device-model//state xenstore path -4. now stubdomain is considered running - -Runtime control (hotplug etc): -Toolstack can issue command through xenstore. The sequence is (from toolst= ack POV): -1. Write parameter to /local/domain//device-model//= parameter. -2. Write command to /local/domain//device-model//co= mmand. -3. Wait for command result in /local/domain//device-model//state (command specific value). -4. Write "running" back to /local/domain//device-model//state. - -Defined commands: - - "pci-ins" - PCI hot plug, results: - - "pci-inserted" - success - - "pci-insert-failed" - failure - - "pci-rem" - PCI hot remove, results: - - "pci-removed" - success - - ?? - - "save" - save domain state to console 1, results: - - "paused" - success - - "continue" - resume domain execution, after loading state from console = 2 (require -loadvm command argument), results: - - "running" - success - - Toolstack to Linux ioemu stubdomain protocol -------------------------------------------- =20 diff --git a/docs/misc/xenstore-paths.pandoc b/docs/misc/xenstore-paths.pan= doc index a604f6b1c6..583e977b65 100644 --- a/docs/misc/xenstore-paths.pandoc +++ b/docs/misc/xenstore-paths.pandoc @@ -634,7 +634,7 @@ Path in xenstore to the backend, normally =20 Trustworthy copy of /local/domain/$DOMID/backend/$KIND/$DEVID/$NODE. =20 -#### /libxl/$DOMID/dm-version ("qemu_xen"|"qemu_xen_traditional") =3D [n,I= NTERNAL] +#### /libxl/$DOMID/dm-version ("qemu_xen") =3D [n,INTERNAL] =20 The device model version for a domain. =20 diff --git a/docs/process/branching-checklist.txt b/docs/process/branching-= checklist.txt index 3dfa8ec257..9632888a56 100644 --- a/docs/process/branching-checklist.txt +++ b/docs/process/branching-checklist.txt @@ -14,8 +14,6 @@ ov=3D4.0 cd ~/git/qemu-xen.git git branch staging-$v staging git branch stable-$v master - cd ~/git/qemu-xen-traditional.git - git branch stable-$v master =20 # make branch in libvirt ssh xen@xenbits.xen.org @@ -63,7 +61,6 @@ ov=3D4.0 cp xen--staging.patchbot-reported-heads xen--staging-$v.patchbot-repor= ted-heads cp qemu-xen--master.patchbot-reported-heads qemu-xen--stable-$v.patch= bot-reported-heads cp qemu-xen--staging.patchbot-reported-heads qemu-xen--staging-$v.pat= chbot-reported-heads - cp qemu-xen-traditional--master.patchbot-reported-heads qemu-xen-tradi= tional--stable-$v.patchbot-reported-heads =20 #emacs versions perl -i~ -pe 'next unless m/\b\Q'$ov'\E\b/; $x=3D$_; $x=3D~ s/\b\Q'$ov= '\E\b/'$v'/g; print $x;' versions @@ -74,7 +71,6 @@ ov=3D4.0 Ensure references to qemu trees and Mini-OS in xen.git's Config.mk are upd= ated. The variables and there content should be: * QEMU_UPSTREAM_REVISION: qemu-xen-X.Y.0 - * QEMU_TRADITIONAL_REVISION: xen-X.Y.0 * MINIOS_UPSTREAM_REVISION: xen-RELEASE-X.Y.0 Where X.Y is the release version (e.g. 4.17). =20 diff --git a/docs/process/release-technician-checklist.txt b/docs/process/r= elease-technician-checklist.txt index 7bbe7c1489..64ed9fd5b2 100644 --- a/docs/process/release-technician-checklist.txt +++ b/docs/process/release-technician-checklist.txt @@ -32,8 +32,6 @@ t=3DRELEASE-$r git show # should show appropriate intended commit git-tag -u 'Xen.org Xen tree code signing' -m "Xen $v" xen-$v =20 - git-push xenbits.xen.org:/home/xen/git/qemu-xen-traditional.git $s:stabl= e-$x xen-$v - # consider making tag in minios, and updating xen.git Config.mk git checkout SOMETHING git show # should show appropriate intended commit @@ -58,7 +56,6 @@ t=3DRELEASE-$r =20 * change xen-unstable Config.mk # QEMU_UPSTREAM_REVISION, -# QEMU_TRADITIONAL_REVISION # MINIOS_UPSTREAM_REVISION # (drop any references to the specific commits, e.g. date or title) * change SUPPORT.md heading version number; -unstable or -rc tag diff --git a/docs/process/xen-release-management.pandoc b/docs/process/xen-= release-management.pandoc index 7826419dad..5da18f6da1 100644 --- a/docs/process/xen-release-management.pandoc +++ b/docs/process/xen-release-management.pandoc @@ -193,7 +193,7 @@ from the last RC: =20 1. Send out commit moratorium emails to committers@. =20 -2. Check all the trees (mini-os, qemu-trad, qemu-xen, seabios, ovmf etc). +2. Check all the trees (mini-os, qemu-xen, seabios, ovmf etc). They have the correct commits and all security patches applied. There will= be tools provided. =20 --=20 2.43.0 From nobody Fri Oct 31 23:30:12 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1743005125; cv=none; d=zohomail.com; s=zohoarc; b=bOHithv9aWoGAfjx0/8H5zU9U35eIaXxRqcS9JMLppjBXW8mWLdghKwQlz3aVRmyiCW+8sQbzxf8TQf8M/WX84BQm8FMBqY2QfgVCkNpKoJVFZmHTfLi1sqS8xp9xgwtSP+hpQWdoo8tmKmmi83acbJfiXdzzhdeXrS+8BV0YdM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743005125; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=A9Vzi1allQ9buLvZV+s75luec1EITwrMFP5D308DP4o=; b=AOwNq5UUN3V0atr3axqaC9j5QzoWd/NvAZnTP7bUrdXNJP9Ej2N+QVyb1zFST8wnXtpeNVWGbKAU00sq13xn4SkszmcmRdl0A6upr9ooF1N0u1J3TKl6jFJ26dKh7Cx6iz42NKOyPy6w+JVQLcwrDI6VGorvhDaNql3AQ+mmGrw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1743005125123241.49396899198518; Wed, 26 Mar 2025 09:05:25 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.928057.1330838 (Exim 4.92) (envelope-from ) id 1txTFa-0002KC-8g; Wed, 26 Mar 2025 16:05:06 +0000 Received: by outflank-mailman (output) from mailman id 928057.1330838; Wed, 26 Mar 2025 16:05:06 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1txTFa-0002K5-5N; Wed, 26 Mar 2025 16:05:06 +0000 Received: by outflank-mailman (input) for mailman id 928057; Wed, 26 Mar 2025 16:05:05 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1txTFY-0001z3-Qa for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:05:05 +0000 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 1344f2a4-0a5c-11f0-9ffa-bf95429c2676; Wed, 26 Mar 2025 17:05:02 +0100 (CET) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 4E64A1F395; Wed, 26 Mar 2025 16:05:02 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id EE9091374A; Wed, 26 Mar 2025 16:05:01 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id hX/KOK0l5GcLaQAAD6G6ig (envelope-from ); Wed, 26 Mar 2025 16:05:01 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 1344f2a4-0a5c-11f0-9ffa-bf95429c2676 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1743005102; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=A9Vzi1allQ9buLvZV+s75luec1EITwrMFP5D308DP4o=; b=vKXpn+8oVd1QxRFP1ibxvXP/dICedW8T6NXuXHA/3oSg6UFBx3DSfcPjPLUe7+cm//q9FU dYqA+/plJ9xYyPZY/G+5aPzY2i2WM+dSpnuUYYkpwmRT4tiF3utQoeoC3nMkkBd/4sQCfC aUZmd9NjgPmsS89gqFlFO8pfU+0OF+s= Authentication-Results: smtp-out2.suse.de; dkim=pass header.d=suse.com header.s=susede1 header.b=vKXpn+8o DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1743005102; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=A9Vzi1allQ9buLvZV+s75luec1EITwrMFP5D308DP4o=; b=vKXpn+8oVd1QxRFP1ibxvXP/dICedW8T6NXuXHA/3oSg6UFBx3DSfcPjPLUe7+cm//q9FU dYqA+/plJ9xYyPZY/G+5aPzY2i2WM+dSpnuUYYkpwmRT4tiF3utQoeoC3nMkkBd/4sQCfC aUZmd9NjgPmsS89gqFlFO8pfU+0OF+s= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Anthony PERARD , Nick Rosbrook , George Dunlap , =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Subject: [PATCH 3/6] tools: remove support for running a guest with qemu-traditional Date: Wed, 26 Mar 2025 17:04:37 +0100 Message-ID: <20250326160442.19706-4-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250326160442.19706-1-jgross@suse.com> References: <20250326160442.19706-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4E64A1F395 X-Spam-Level: X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; FUZZY_BLOCKED(0.00)[rspamd.com]; FREEMAIL_CC(0.00)[suse.com,citrix.com,vates.tech,gmail.com,xenproject.org,invisiblethingslab.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; RCPT_COUNT_SEVEN(0.00)[9]; DKIM_TRACE(0.00)[suse.com:+]; RCVD_VIA_SMTP_AUTH(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com] X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-Rspamd-Action: no action X-Spam-Score: -3.01 X-Spam-Flag: NO X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1743005127703019100 Content-Type: text/plain; charset="utf-8" Remove the code in tools for running a guest with qemu-traditional. This covers xl, libxl, libacpi, hvmloader and the related python and go bindings. Signed-off-by: Juergen Gross --- tools/firmware/hvmloader/pci.c | 19 +- tools/firmware/hvmloader/util.c | 9 +- tools/golang/xenlight/types.gen.go | 1 - tools/libacpi/mk_dsdt.c | 177 +++----------- tools/libs/light/libxl_create.c | 60 +---- tools/libs/light/libxl_disk.c | 7 - tools/libs/light/libxl_dm.c | 320 +------------------------- tools/libs/light/libxl_dom.c | 10 - tools/libs/light/libxl_dom_save.c | 140 ----------- tools/libs/light/libxl_dom_suspend.c | 65 ------ tools/libs/light/libxl_domain.c | 15 -- tools/libs/light/libxl_internal.c | 6 +- tools/libs/light/libxl_internal.h | 5 +- tools/libs/light/libxl_pci.c | 183 --------------- tools/libs/light/libxl_stream_write.c | 4 - tools/libs/light/libxl_types.idl | 1 - tools/python/xen/migration/libxl.py | 2 - tools/xl/xl_parse.c | 5 +- 18 files changed, 50 insertions(+), 979 deletions(-) diff --git a/tools/firmware/hvmloader/pci.c b/tools/firmware/hvmloader/pci.c index c3c61ca060..414f73a266 100644 --- a/tools/firmware/hvmloader/pci.c +++ b/tools/firmware/hvmloader/pci.c @@ -108,24 +108,7 @@ void pci_setup(void) uint64_t mmio_hole_size =3D 0; =20 const char *s; - /* - * Do we allow hvmloader to relocate guest memory in order to - * increase the size of the lowmem MMIO hole? Defaulting to 1 - * here will mean that non-libxl toolstacks (including xend and - * home-grown ones) means that those using qemu-xen will still - * experience the memory relocation bug described below; but it - * also means that those using qemu-traditional will *not* - * experience any change; and it also means that there is a - * work-around for those using qemu-xen, namely switching to - * qemu-traditional. - * - * If we defaulted to 0, and failing to resize the hole caused any - * problems with qemu-traditional, then there is no work-around. - * - * Since xend can only use qemu-traditional, I think this is the - * option that will have the least impact. - */ - bool allow_memory_relocate =3D 1; + bool allow_memory_relocate =3D 0; =20 BUILD_BUG_ON((typeof(*pci_devfn_decode_type))PCI_COMMAND_IO !=3D PCI_COMMAND_IO); diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/uti= l.c index 2d07ce1290..79c0e6bd4a 100644 --- a/tools/firmware/hvmloader/util.c +++ b/tools/firmware/hvmloader/util.c @@ -843,14 +843,7 @@ void hvmloader_acpi_build_tables(struct acpi_config *c= onfig, =20 /* If the device model is specified switch to the corresponding tables= */ s =3D xenstore_read("platform/device-model", ""); - if ( !strncmp(s, "qemu_xen_traditional", 21) ) - { - config->dsdt_anycpu =3D dsdt_anycpu; - config->dsdt_anycpu_len =3D dsdt_anycpu_len; - config->dsdt_15cpu =3D dsdt_15cpu; - config->dsdt_15cpu_len =3D dsdt_15cpu_len; - } - else if ( !strncmp(s, "qemu_xen", 9) ) + if ( !strncmp(s, "qemu_xen", 9) ) { config->dsdt_anycpu =3D dsdt_anycpu_qemu_xen; config->dsdt_anycpu_len =3D dsdt_anycpu_qemu_xen_len; diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/typ= es.gen.go index e7667f1ce3..02c4d8d123 100644 --- a/tools/golang/xenlight/types.gen.go +++ b/tools/golang/xenlight/types.gen.go @@ -70,7 +70,6 @@ ChannelConnectionSocket ChannelConnection =3D 2 type DeviceModelVersion int const( DeviceModelVersionUnknown DeviceModelVersion =3D 0 -DeviceModelVersionQemuXenTraditional DeviceModelVersion =3D 1 DeviceModelVersionQemuXen DeviceModelVersion =3D 2 ) =20 diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c index 34f6753f61..396e3e01e2 100644 --- a/tools/libacpi/mk_dsdt.c +++ b/tools/libacpi/mk_dsdt.c @@ -19,7 +19,6 @@ static bool debug =3D false; =20 typedef enum dm_version { QEMU_NONE, - QEMU_XEN_TRADITIONAL, QEMU_XEN, } dm_version; =20 @@ -68,30 +67,6 @@ static void pop_block(void) printf("}\n"); } =20 -#ifdef CONFIG_X86 -static void pci_hotplug_notify(unsigned int slt) -{ - stmt("Notify", "\\_SB.PCI0.S%02X, EVT", slt); -} - -static void decision_tree( - unsigned int s, unsigned int e, char *var, void (*leaf)(unsigned int)) -{ - if ( s =3D=3D (e-1) ) - { - (*leaf)(s); - return; - } - - push_block("If", "And(%s, 0x%02x)", var, (e-s)/2); - decision_tree((s+e)/2, e, var, leaf); - pop_block(); - push_block("Else", NULL); - decision_tree(s, (s+e)/2, var, leaf); - pop_block(); -} -#endif - static struct option options[] =3D { { "maxcpu", 1, 0, 'c' }, #ifdef CONFIG_X86 @@ -105,7 +80,7 @@ int main(int argc, char **argv) { unsigned int cpu, max_cpus; #if defined(CONFIG_X86) - dm_version dm_version =3D QEMU_XEN_TRADITIONAL; + dm_version dm_version =3D QEMU_XEN; unsigned int slot, dev, intx, link; =20 max_cpus =3D HVM_MAX_VCPUS; @@ -141,8 +116,6 @@ int main(int argc, char **argv) case 'q': if (strcmp(optarg, "qemu-xen") =3D=3D 0) { dm_version =3D QEMU_XEN; - } else if (strcmp(optarg, "qemu-xen-traditional") =3D=3D 0) { - dm_version =3D QEMU_XEN_TRADITIONAL; } else if (strcmp(optarg, "none") =3D=3D 0) { dm_version =3D QEMU_NONE; } else { @@ -278,9 +251,7 @@ int main(int argc, char **argv) =20 /* Define GPE control method. */ push_block("Scope", "\\_GPE"); - push_block("Method", - dm_version =3D=3D QEMU_XEN_TRADITIONAL ? "_L%02d" : "_E%02d= ", - XEN_ACPI_GPE0_CPUHP_BIT); + push_block("Method", "_E%02d", XEN_ACPI_GPE0_CPUHP_BIT); stmt("\\_SB.PRSC ()", NULL); pop_block(); pop_block(); @@ -302,17 +273,10 @@ int main(int argc, char **argv) */ push_block("Device", "HP0"); { stmt("Name", "_HID, EISAID(\"PNP0C02\")"); - if (dm_version =3D=3D QEMU_XEN_TRADITIONAL) { - stmt("Name", "_CRS, ResourceTemplate() {" - " IO (Decode16, 0x10c0, 0x10c0, 0x00, 0x82)" - " IO (Decode16, 0xb044, 0xb044, 0x00, 0x04)" - "}"); - } else { - stmt("Name", "_CRS, ResourceTemplate() {" - " IO (Decode16, 0xae00, 0xae00, 0x00, 0x10)" - " IO (Decode16, 0xb044, 0xb044, 0x00, 0x04)" - "}"); - } + stmt("Name", "_CRS, ResourceTemplate() {" + " IO (Decode16, 0xae00, 0xae00, 0x00, 0x10)" + " IO (Decode16, 0xb044, 0xb044, 0x00, 0x04)" + "}"); } pop_block(); =20 /*** PCI-ISA link definitions ***/ @@ -397,60 +361,27 @@ int main(int argc, char **argv) * QEMU provides a simple hotplug controller with some I/O to handle * the hotplug action and status, which is beyond the ACPI scope. */ - if (dm_version =3D=3D QEMU_XEN_TRADITIONAL) { - for ( slot =3D 0; slot < 0x100; slot++ ) - { - push_block("Device", "S%02X", slot); - /* _ADR =3D=3D dev:fn (16:16) */ - stmt("Name", "_ADR, 0x%08x", ((slot & ~7) << 13) | (slot & 7)); - /* _SUN =3D=3D dev */ - stmt("Name", "_SUN, 0x%08x", slot >> 3); - push_block("Method", "_EJ0, 1"); - if (debug) - { - stmt("Store", "0x%02x, \\_GPE.DPT1", slot); - stmt("Store", "0x88, \\_GPE.DPT2"); - } - stmt("Store", "0x%02x, \\_GPE.PH%02X", /* eject */ - (slot & 1) ? 0x10 : 0x01, slot & ~1); - pop_block(); - push_block("Method", "_STA, 0"); - if (debug) - { - stmt("Store", "0x%02x, \\_GPE.DPT1", slot); - stmt("Store", "0x89, \\_GPE.DPT2"); - } - if ( slot & 1 ) - stmt("ShiftRight", "\\_GPE.PH%02X, 0x04, Local1", slot & ~= 1); - else - stmt("And", "\\_GPE.PH%02X, 0x0f, Local1", slot & ~1); - stmt("Return", "Local1"); /* IN status as the _STA */ - pop_block(); - pop_block(); - } - } else { - stmt("OperationRegion", "SEJ, SystemIO, 0xae08, 0x08"); - push_block("Field", "SEJ, DWordAcc, NoLock, WriteAsZeros"); - indent(); printf("B0EJ, 32,\n"); - indent(); printf("B0RM, 32,\n"); - pop_block(); + stmt("OperationRegion", "SEJ, SystemIO, 0xae08, 0x08"); + push_block("Field", "SEJ, DWordAcc, NoLock, WriteAsZeros"); + indent(); printf("B0EJ, 32,\n"); + indent(); printf("B0RM, 32,\n"); + pop_block(); =20 - /* hotplug_slot */ - for (slot =3D 1; slot <=3D 31; slot++) { - push_block("Device", "S%i", slot); { - stmt("Name", "_ADR, %#06x0000", slot); - push_block("Method", "_EJ0,1"); { - stmt("Store", "%#010x, B0EJ", 1 << slot); - } pop_block(); - stmt("Name", "_SUN, %i", slot); - push_block("Method", "_STA, 0"); { - push_block("If", "And(B0RM, ShiftLeft(1, %i))", slot); - stmt("Return", "0xF"); - pop_block(); - stmt("Return", "0x0"); - } pop_block(); + /* hotplug_slot */ + for (slot =3D 1; slot <=3D 31; slot++) { + push_block("Device", "S%i", slot); { + stmt("Name", "_ADR, %#06x0000", slot); + push_block("Method", "_EJ0,1"); { + stmt("Store", "%#010x, B0EJ", 1 << slot); } pop_block(); - } + stmt("Name", "_SUN, %i", slot); + push_block("Method", "_STA, 0"); { + push_block("If", "And(B0RM, ShiftLeft(1, %i))", slot); + stmt("Return", "0xF"); + pop_block(); + stmt("Return", "0x0"); + } pop_block(); + } pop_block(); } =20 pop_block(); @@ -460,26 +391,11 @@ int main(int argc, char **argv) /**** GPE start ****/ push_block("Scope", "\\_GPE"); =20 - if (dm_version =3D=3D QEMU_XEN_TRADITIONAL) { - stmt("OperationRegion", "PHP, SystemIO, 0x10c0, 0x82"); - - push_block("Field", "PHP, ByteAcc, NoLock, Preserve"); - indent(); printf("PSTA, 8,\n"); /* hotplug controller event reg */ - indent(); printf("PSTB, 8,\n"); /* hotplug controller slot reg */ - for ( slot =3D 0; slot < 0x100; slot +=3D 2 ) - { - indent(); - /* Each hotplug control register manages a pair of pci functio= ns. */ - printf("PH%02X, 8,\n", slot); - } - pop_block(); - } else { - stmt("OperationRegion", "PCST, SystemIO, 0xae00, 0x08"); - push_block("Field", "PCST, DWordAcc, NoLock, WriteAsZeros"); - indent(); printf("PCIU, 32,\n"); - indent(); printf("PCID, 32,\n"); - pop_block(); - } + stmt("OperationRegion", "PCST, SystemIO, 0xae00, 0x08"); + push_block("Field", "PCST, DWordAcc, NoLock, WriteAsZeros"); + indent(); printf("PCIU, 32,\n"); + indent(); printf("PCID, 32,\n"); + pop_block(); =20 stmt("OperationRegion", "DG1, SystemIO, 0xb044, 0x04"); =20 @@ -487,35 +403,16 @@ int main(int argc, char **argv) indent(); printf("DPT1, 8, DPT2, 8\n"); pop_block(); =20 - if (dm_version =3D=3D QEMU_XEN_TRADITIONAL) { - push_block("Method", "_L03, 0, Serialized"); - /* Detect slot and event (remove/add). */ - stmt("Name", "SLT, 0x0"); - stmt("Name", "EVT, 0x0"); - stmt("Store", "PSTA, Local1"); - stmt("And", "Local1, 0xf, EVT"); - stmt("Store", "PSTB, Local1"); /* XXX: Store (PSTB, SLT) ? */ - stmt("And", "Local1, 0xff, SLT"); - if (debug) - { - stmt("Store", "SLT, DPT1"); - stmt("Store", "EVT, DPT2"); - } - /* Decision tree */ - decision_tree(0x00, 0x100, "SLT", pci_hotplug_notify); + push_block("Method", "_E01"); + for (slot =3D 1; slot <=3D 31; slot++) { + push_block("If", "And(PCIU, ShiftLeft(1, %i))", slot); + stmt("Notify", "\\_SB.PCI0.S%i, 1", slot); pop_block(); - } else { - push_block("Method", "_E01"); - for (slot =3D 1; slot <=3D 31; slot++) { - push_block("If", "And(PCIU, ShiftLeft(1, %i))", slot); - stmt("Notify", "\\_SB.PCI0.S%i, 1", slot); - pop_block(); - push_block("If", "And(PCID, ShiftLeft(1, %i))", slot); - stmt("Notify", "\\_SB.PCI0.S%i, 3", slot); - pop_block(); - } + push_block("If", "And(PCID, ShiftLeft(1, %i))", slot); + stmt("Notify", "\\_SB.PCI0.S%i, 3", slot); pop_block(); } + pop_block(); =20 pop_block(); /**** GPE end ****/ diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_creat= e.c index e03599ea99..9c56c4c9e5 100644 --- a/tools/libs/light/libxl_create.c +++ b/tools/libs/light/libxl_create.c @@ -100,12 +100,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, =20 if (!b_info->device_model_version) { if (b_info->type =3D=3D LIBXL_DOMAIN_TYPE_HVM) { - if (libxl_defbool_val(b_info->device_model_stubdomain)) { - b_info->device_model_version =3D - LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; - } else { - b_info->device_model_version =3D LIBXL_DEVICE_MODEL_VERSIO= N_QEMU_XEN; - } + b_info->device_model_version =3D LIBXL_DEVICE_MODEL_VERSION_QE= MU_XEN; } else { b_info->device_model_version =3D LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN; @@ -117,16 +112,8 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, dm =3D libxl__domain_device_model(gc, b_info); rc =3D access(dm, X_OK); if (rc < 0) { - /* qemu-xen unavailable, use qemu-xen-traditional */ - if (errno =3D=3D ENOENT) { - LOGE(INFO, "qemu-xen is unavailable" - ", using qemu-xen-traditional instead"); - b_info->device_model_version =3D - LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; - } else { - LOGE(ERROR, "qemu-xen access error"); - return ERROR_FAIL; - } + LOGE(ERROR, "qemu-xen access error"); + return ERROR_FAIL; } } } @@ -137,8 +124,6 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, if (b_info->type =3D=3D LIBXL_DOMAIN_TYPE_HVM) { if (!b_info->u.hvm.bios) switch (b_info->device_model_version) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - b_info->u.hvm.bios =3D LIBXL_BIOS_TYPE_ROMBIOS; break; case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: b_info->u.hvm.bios =3D LIBXL_BIOS_TYPE_SEABIOS; break; default: @@ -148,12 +133,6 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, =20 /* Enforce BIOS<->Device Model version relationship */ switch (b_info->device_model_version) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - if (b_info->u.hvm.bios !=3D LIBXL_BIOS_TYPE_ROMBIOS) { - LOG(ERROR, "qemu-xen-traditional requires bios=3Drombios."= ); - return ERROR_INVAL; - } - break; case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: if (b_info->u.hvm.bios =3D=3D LIBXL_BIOS_TYPE_ROMBIOS) { LOG(ERROR, "qemu-xen does not support bios=3Drombios."); @@ -176,10 +155,6 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, libxl_defbool_val(b_info->device_model_stubdomain)) { if (!b_info->stubdomain_kernel) { switch (b_info->device_model_version) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - b_info->stubdomain_kernel =3D - libxl__abs_path(NOGC, "ioemu-stubdom.gz", libxl__x= enfirmwaredir_path()); - break; case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: b_info->stubdomain_kernel =3D libxl__abs_path(NOGC, @@ -192,8 +167,6 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, } if (!b_info->stubdomain_ramdisk) { switch (b_info->device_model_version) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - break; case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: b_info->stubdomain_ramdisk =3D libxl__abs_path(NOGC, @@ -299,33 +272,6 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, b_info->u.hvm.hdtype =3D LIBXL_HDTYPE_IDE; =20 switch (b_info->device_model_version) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - switch (b_info->u.hvm.vga.kind) { - case LIBXL_VGA_INTERFACE_TYPE_NONE: - if (b_info->video_memkb =3D=3D LIBXL_MEMKB_DEFAULT) - b_info->video_memkb =3D 0; - break; - case LIBXL_VGA_INTERFACE_TYPE_QXL: - LOG(ERROR,"qemu upstream required for qxl vga"); - return ERROR_INVAL; - break; - case LIBXL_VGA_INTERFACE_TYPE_STD: - if (b_info->video_memkb =3D=3D LIBXL_MEMKB_DEFAULT) - b_info->video_memkb =3D 8 * 1024; - if (b_info->video_memkb < 8 * 1024) { - LOG(ERROR, "videoram must be at least 8 MB for STDVGA = on QEMU_XEN_TRADITIONAL"); - return ERROR_INVAL; - } - break; - case LIBXL_VGA_INTERFACE_TYPE_CIRRUS: - default: - if (b_info->video_memkb =3D=3D LIBXL_MEMKB_DEFAULT) - b_info->video_memkb =3D 4 * 1024; - if (b_info->video_memkb !=3D 4 * 1024) - LOG(WARN, "ignoring videoram other than 4 MB for CIRRU= S on QEMU_XEN_TRADITIONAL"); - break; - } - break; case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: default: switch (b_info->u.hvm.vga.kind) { diff --git a/tools/libs/light/libxl_disk.c b/tools/libs/light/libxl_disk.c index 15055380c6..8cdf74ee8b 100644 --- a/tools/libs/light/libxl_disk.c +++ b/tools/libs/light/libxl_disk.c @@ -1007,13 +1007,6 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domi= d, libxl_device_disk *disk, disk->backend =3D LIBXL_DISK_BACKEND_PHY; } =20 - if (cis->dm_ver =3D=3D LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL= && - stubdomid) { - LOGD(ERROR, domid, "cdrom-insert doesn't work for Mini-OS stubdoms= "); - rc =3D ERROR_INVAL; - goto out; - } - disks =3D libxl__device_list(gc, &libxl__disk_devtype, cis->disk_domid= , &num); for (i =3D 0; i < num; i++) { if (disks[i].is_cdrom && !strcmp(disk->vdev, disks[i].vdev)) diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c index b193a5dc37..4146ee0ea1 100644 --- a/tools/libs/light/libxl_dm.c +++ b/tools/libs/light/libxl_dm.c @@ -328,9 +328,6 @@ const char *libxl__domain_device_model(libxl__gc *gc, dm =3D libxl__strdup(gc, info->device_model); } else { switch (info->device_model_version) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - dm =3D libxl__abs_path(gc, "qemu-dm", libxl__private_bindir_pa= th()); - break; case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: dm =3D qemu_xen_path(gc); break; @@ -670,272 +667,6 @@ static const char *dm_keymap(const libxl_domain_confi= g *guest_config) return NULL; } =20 -static int libxl__build_device_model_args_old(libxl__gc *gc, - const char *dm, int domid, - const libxl_domain_config *guest_c= onfig, - char ***args, char ***envs, - const libxl__domain_build_state *s= tate) -{ - const libxl_domain_create_info *c_info =3D &guest_config->c_info; - const libxl_domain_build_info *b_info =3D &guest_config->b_info; - const libxl_device_nic *nics =3D guest_config->nics; - const libxl_vnc_info *vnc =3D libxl__dm_vnc(guest_config); - const libxl_sdl_info *sdl =3D dm_sdl(guest_config); - const int num_nics =3D guest_config->num_nics; - const char *keymap =3D dm_keymap(guest_config); - int i; - flexarray_t *dm_args, *dm_envs; - dm_args =3D flexarray_make(gc, 16, 1); - dm_envs =3D flexarray_make(gc, 16, 1); - - assert(state->dm_monitor_fd =3D=3D -1); - - flexarray_vappend(dm_args, dm, - "-d", GCSPRINTF("%d", domid), NULL); - - if (c_info->name) - flexarray_vappend(dm_args, "-domain-name", c_info->name, NULL); - - if (vnc) { - char *vncarg =3D NULL; - - flexarray_append(dm_args, "-vnc"); - - /* - * If vnc->listen is present and contains a :, and - * - vnc->display is 0, use vnc->listen - * - vnc->display is non-zero, be confused - * If vnc->listen is present but doesn't, use vnc->listen:vnc->dis= play. - * If vnc->listen is not present, use 127.0.0.1:vnc->display - * (Remembering that vnc->display already defaults to 0.) - */ - if (vnc->listen) { - if (strchr(vnc->listen, ':') !=3D NULL) { - if (vnc->display) { - LOGD(ERROR, domid, "vncdisplay set, vnclisten contains= display"); - return ERROR_INVAL; - } - vncarg =3D vnc->listen; - } else { - vncarg =3D GCSPRINTF("%s:%d", vnc->listen, vnc->display); - } - } else - vncarg =3D GCSPRINTF("127.0.0.1:%d", vnc->display); - - if (vnc->passwd && vnc->passwd[0]) { - vncarg =3D GCSPRINTF("%s,password", vncarg); - } - - flexarray_append(dm_args, vncarg); - - if (libxl_defbool_val(vnc->findunused)) { - flexarray_append(dm_args, "-vncunused"); - } - } else if (!sdl) { - /* - * VNC is not enabled by default by qemu-xen-traditional, - * however skipping -vnc causes SDL to be - * (unexpectedly) enabled by default. If undesired, disable graphi= cs at - * all. - */ - flexarray_append(dm_args, "-nographic"); - } - - if (sdl) { - flexarray_append(dm_args, "-sdl"); - if (!libxl_defbool_val(sdl->opengl)) { - flexarray_append(dm_args, "-disable-opengl"); - } - if (sdl->display) - flexarray_append_pair(dm_envs, "DISPLAY", sdl->display); - if (sdl->xauthority) - flexarray_append_pair(dm_envs, "XAUTHORITY", sdl->xauthority); - } - if (keymap) { - flexarray_vappend(dm_args, "-k", keymap, NULL); - } - if (b_info->type =3D=3D LIBXL_DOMAIN_TYPE_HVM) { - int ioemu_nics =3D 0; - int nr_set_cpus =3D 0; - char *s; - - flexarray_append_pair(dm_envs, "XEN_DOMAIN_ID", GCSPRINTF("%d", do= mid)); - - if (b_info->kernel) { - LOGD(ERROR, domid, "HVM direct kernel boot is not supported by= " - "qemu-xen-traditional"); - return ERROR_INVAL; - } - - if (b_info->u.hvm.serial || b_info->u.hvm.serial_list) { - if ( b_info->u.hvm.serial && b_info->u.hvm.serial_list ) - { - LOGD(ERROR, domid, "Both serial and serial_list set"); - return ERROR_INVAL; - } - if (b_info->u.hvm.serial) { - flexarray_vappend(dm_args, - "-serial", b_info->u.hvm.serial, NULL); - } else if (b_info->u.hvm.serial_list) { - char **p; - for (p =3D b_info->u.hvm.serial_list; - *p; - p++) { - flexarray_vappend(dm_args, - "-serial", - *p, NULL); - } - } - } - - if (libxl_defbool_val(b_info->u.hvm.nographic) && (!sdl && !vnc)) { - flexarray_append(dm_args, "-nographic"); - } - - if (b_info->video_memkb) { - flexarray_vappend(dm_args, "-videoram", - GCSPRINTF("%d", libxl__sizekb_to_mb(b_info->video_memk= b)), - NULL); - } - - switch (b_info->u.hvm.vga.kind) { - case LIBXL_VGA_INTERFACE_TYPE_STD: - flexarray_append(dm_args, "-std-vga"); - break; - case LIBXL_VGA_INTERFACE_TYPE_CIRRUS: - break; - case LIBXL_VGA_INTERFACE_TYPE_NONE: - flexarray_append_pair(dm_args, "-vga", "none"); - break; - case LIBXL_VGA_INTERFACE_TYPE_QXL: - break; - default: - LOGD(ERROR, domid, "Invalid emulated video card specified"); - return ERROR_INVAL; - } - - if (b_info->u.hvm.boot) { - flexarray_vappend(dm_args, "-boot", b_info->u.hvm.boot, NULL); - } - if (libxl_defbool_val(b_info->u.hvm.usb) - || b_info->u.hvm.usbdevice - || libxl_string_list_length(&b_info->u.hvm.usbdevice_list)) { - if (b_info->u.hvm.usbdevice - && libxl_string_list_length(&b_info->u.hvm.usbdevice_list)= ) { - LOGD(ERROR, domid, "Both usbdevice and usbdevice_list set"= ); - return ERROR_INVAL; - } - flexarray_append(dm_args, "-usb"); - if (b_info->u.hvm.usbdevice) { - flexarray_vappend(dm_args, - "-usbdevice", b_info->u.hvm.usbdevice, N= ULL); - } else if (b_info->u.hvm.usbdevice_list) { - char **p; - for (p =3D b_info->u.hvm.usbdevice_list; - *p; - p++) { - flexarray_vappend(dm_args, - "-usbdevice", - *p, NULL); - } - } - } - if (b_info->u.hvm.soundhw) { - flexarray_vappend(dm_args, "-soundhw", b_info->u.hvm.soundhw, = NULL); - } - if (libxl__acpi_defbool_val(b_info)) { - flexarray_append(dm_args, "-acpi"); - } - if (b_info->max_vcpus > 1) { - flexarray_vappend(dm_args, "-vcpus", - GCSPRINTF("%d", b_info->max_vcpus), - NULL); - } - - nr_set_cpus =3D libxl_bitmap_count_set(&b_info->avail_vcpus); - s =3D libxl_bitmap_to_hex_string(CTX, &b_info->avail_vcpus); - flexarray_vappend(dm_args, "-vcpu_avail", - GCSPRINTF("%s", s), NULL); - free(s); - - for (i =3D 0; i < num_nics; i++) { - if (nics[i].nictype =3D=3D LIBXL_NIC_TYPE_VIF_IOEMU) { - char *smac =3D GCSPRINTF( - LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nics[i].= mac)); - const char *ifname =3D libxl__device_nic_devname(gc, - domid, nics[i].devid, - LIBXL_NIC_TYPE_VIF_IOEMU); - flexarray_vappend(dm_args, - "-net", - GCSPRINTF( - "nic,vlan=3D%d,macaddr=3D%s,model=3D= %s", - nics[i].devid, smac, nics[i].model), - "-net", - GCSPRINTF( - "tap,vlan=3D%d,ifname=3D%s,bridge=3D= %s," - "script=3D%s,downscript=3D%s", - nics[i].devid, ifname, nics[i].bridg= e, - libxl_tapif_script(gc), - libxl_tapif_script(gc)), - NULL); - ioemu_nics++; - } - } - /* If we have no emulated nics, tell qemu not to create any */ - if ( ioemu_nics =3D=3D 0 ) { - flexarray_vappend(dm_args, "-net", "none", NULL); - } - if (libxl_defbool_val(b_info->u.hvm.gfx_passthru)) { - switch (b_info->u.hvm.gfx_passthru_kind) { - case LIBXL_GFX_PASSTHRU_KIND_DEFAULT: - case LIBXL_GFX_PASSTHRU_KIND_IGD: - flexarray_append(dm_args, "-gfx_passthru"); - break; - default: - LOGD(ERROR, domid, "unsupported gfx_passthru_kind."); - return ERROR_INVAL; - } - } - } else { - if (!sdl && !vnc) - flexarray_append(dm_args, "-nographic"); - } - - if (libxl_defbool_val(b_info->dm_restrict)) { - LOGD(ERROR, domid, - "dm_restrict not supported by qemu-xen-traditional"); - return ERROR_INVAL; - } - - if (state->saved_state) { - flexarray_vappend(dm_args, "-loadvm", state->saved_state, NULL); - } - for (i =3D 0; b_info->extra && b_info->extra[i] !=3D NULL; i++) - flexarray_append(dm_args, b_info->extra[i]); - flexarray_append(dm_args, "-M"); - switch (b_info->type) { - case LIBXL_DOMAIN_TYPE_PVH: - case LIBXL_DOMAIN_TYPE_PV: - flexarray_append(dm_args, "xenpv"); - for (i =3D 0; b_info->extra_pv && b_info->extra_pv[i] !=3D NULL; i= ++) - flexarray_append(dm_args, b_info->extra_pv[i]); - break; - case LIBXL_DOMAIN_TYPE_HVM: - flexarray_append(dm_args, "xenfv"); - for (i =3D 0; b_info->extra_hvm && b_info->extra_hvm[i] !=3D NULL;= i++) - flexarray_append(dm_args, b_info->extra_hvm[i]); - break; - default: - abort(); - } - flexarray_append(dm_args, NULL); - *args =3D (char **) flexarray_contents(dm_args); - flexarray_append(dm_envs, NULL); - if (envs) - *envs =3D (char **) flexarray_contents(dm_envs); - return 0; -} - static char *dm_spice_options(libxl__gc *gc, const libxl_spice_info *spice) { @@ -2062,11 +1793,6 @@ static int libxl__build_device_model_args(libxl__gc = *gc, * and therefore will be passing a filename rather than a fd. */ { switch (guest_config->b_info.device_model_version) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - return libxl__build_device_model_args_old(gc, dm, - guest_domid, guest_confi= g, - args, envs, - state); case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: if (!libxl_defbool_val(guest_config->b_info.device_model_stubdomai= n)) { assert(dm_state_fd !=3D NULL); @@ -2429,16 +2155,11 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__s= tub_dm_spawn_state *sdss) "%s", libxl_bios_type_to_string(guest_config->b_info.u.h= vm.bios)); } - /* Disable relocating memory to make the MMIO hole larger - * unless we're running qemu-traditional and vNUMA is not - * configured. */ + /* Disable relocating memory to make the MMIO hole larger. */ libxl__xs_printf(gc, XBT_NULL, libxl__sprintf(gc, "%s/hvmloader/allow-memory-relocat= e", libxl__xs_get_dompath(gc, guest_domid)= ), - "%d", - guest_config->b_info.device_model_version - =3D=3D LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITI= ONAL && - !libxl__vnuma_configured(&guest_config->b_info)); + "0"); ret =3D xc_domain_set_target(ctx->xch, dm_domid, guest_domid); if (ret<0) { LOGED(ERROR, guest_domid, "setting target domain %d -> %d", @@ -3122,13 +2843,9 @@ static void device_model_launch(libxl__egc *egc, libxl_domain_config *guest_config =3D dmss->guest_config; const libxl_domain_create_info *c_info =3D &guest_config->c_info; const libxl_domain_build_info *b_info =3D &guest_config->b_info; - const libxl_vnc_info *vnc =3D libxl__dm_vnc(guest_config); char *path; int logfile_w, null; char **args, **arg, **envs; - xs_transaction_t t; - char *vm_path; - char **pass_stuff; int dm_state_fd =3D -1; =20 /* convenience aliases */ @@ -3162,26 +2879,16 @@ static void device_model_launch(libxl__egc *egc, libxl__xs_printf(gc, XBT_NULL, GCSPRINTF("%s/hvmloader/bios", path), "%s", libxl_bios_type_to_string(b_info->u.hvm.bio= s)); - /* Disable relocating memory to make the MMIO hole larger - * unless we're running qemu-traditional and vNUMA is not - * configured. */ + /* Disable relocating memory to make the MMIO hole larger. */ libxl__xs_printf(gc, XBT_NULL, GCSPRINTF("%s/hvmloader/allow-memory-relocate", p= ath), - "%d", - b_info->device_model_version=3D=3DLIBXL_DEVICE_MO= DEL_VERSION_QEMU_XEN_TRADITIONAL && - !libxl__vnuma_configured(b_info)); + "0"); free(path); } =20 path =3D DEVICE_MODEL_XS_PATH(gc, LIBXL_TOOLSTACK_DOMID, domid, ""); xs_mkdir(ctx->xsh, XBT_NULL, path); =20 - if (b_info->type =3D=3D LIBXL_DOMAIN_TYPE_HVM && - b_info->device_model_version - =3D=3D LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL) - libxl__xs_printf(gc, XBT_NULL, GCSPRINTF("%s/disable_pf", path), - "%d", !libxl_defbool_val(b_info->u.hvm.xen_platfo= rm_pci)); - logfile_w =3D libxl__create_qemu_logfile(gc, GCSPRINTF("qemu-dm-%s", c_info->name)); if (logfile_w < 0) { @@ -3206,25 +2913,6 @@ static void device_model_launch(libxl__egc *egc, GCSPRINTF("%s/image/device-model-kill-uid", dom_p= ath), "%s", state->dm_kill_uid); =20 - if (vnc && vnc->passwd) { - /* This xenstore key will only be used by qemu-xen-traditionnal. - * The code to supply vncpasswd to qemu-xen is later. */ -retry_transaction: - /* Find uuid and the write the vnc password to xenstore for qemu. = */ - t =3D xs_transaction_start(ctx->xsh); - vm_path =3D libxl__xs_read(gc,t,GCSPRINTF("%s/vm", dom_path)); - if (vm_path) { - /* Now write the vncpassword into it. */ - pass_stuff =3D libxl__calloc(gc, 3, sizeof(char *)); - pass_stuff[0] =3D "vncpasswd"; - pass_stuff[1] =3D vnc->passwd; - libxl__xs_writev(gc,t,vm_path,pass_stuff); - if (!xs_transaction_end(ctx->xsh, t, 0)) - if (errno =3D=3D EAGAIN) - goto retry_transaction; - } - } - LOGD(DEBUG, domid, "Spawning device-model %s with arguments:", dm); for (arg =3D args; *arg; arg++) LOGD(DEBUG, domid, " %s", *arg); diff --git a/tools/libs/light/libxl_dom.c b/tools/libs/light/libxl_dom.c index 94fef37401..4d67b0d282 100644 --- a/tools/libs/light/libxl_dom.c +++ b/tools/libs/light/libxl_dom.c @@ -881,7 +881,6 @@ static int libxl__domain_firmware(libxl__gc *gc, switch (info->device_model_version) { case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: firmware =3D "hvmloader"; break; default: @@ -1212,15 +1211,6 @@ out: return rc; } =20 -int libxl__qemu_traditional_cmd(libxl__gc *gc, uint32_t domid, - const char *cmd) -{ - char *path =3D NULL; - uint32_t dm_domid =3D libxl_get_stubdom_id(CTX, domid); - path =3D DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/command"); - return libxl__xs_printf(gc, XBT_NULL, path, "%s", cmd); -} - /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Miscellaneo= us =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/ =20 char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid) diff --git a/tools/libs/light/libxl_dom_save.c b/tools/libs/light/libxl_dom= _save.c index 32e3cb5a13..d64fd64f2e 100644 --- a/tools/libs/light/libxl_dom_save.c +++ b/tools/libs/light/libxl_dom_save.c @@ -28,19 +28,6 @@ static void domain_save_done(libxl__egc *egc, =20 /*----- complicated callback, called by xc_domain_save -----*/ =20 -/* - * We implement the other end of protocol for controlling qemu-dm's - * logdirty. There is no documentation for this protocol, but our - * counterparty's implementation is in - * qemu-xen-traditional.git:xenstore.c in the function - * xenstore_process_logdirty_event - */ - -static void domain_suspend_switch_qemu_xen_traditional_logdirty - (libxl__egc *egc, int domid, unsigned enabl= e, - libxl__logdirty_switch *lds); -static void switch_logdirty_xswatch(libxl__egc *egc, libxl__ev_xswatch*, - const char *watch_path, const char *event_path= ); static void domain_suspend_switch_qemu_xen_logdirty (libxl__egc *egc, int domid, unsigned enabl= e, libxl__logdirty_switch *lds); @@ -69,10 +56,6 @@ void libxl__domain_common_switch_qemu_logdirty(libxl__eg= c *egc, STATE_AO_GC(lds->ao); =20 switch (libxl__device_model_version_running(gc, domid)) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - domain_suspend_switch_qemu_xen_traditional_logdirty(egc, domid, en= able, - lds); - break; case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: domain_suspend_switch_qemu_xen_logdirty(egc, domid, enable, lds); break; @@ -83,129 +66,6 @@ void libxl__domain_common_switch_qemu_logdirty(libxl__e= gc *egc, } } =20 -static void domain_suspend_switch_qemu_xen_traditional_logdirty - (libxl__egc *egc, int domid, unsigned enabl= e, - libxl__logdirty_switch *lds) -{ - STATE_AO_GC(lds->ao); - int rc; - xs_transaction_t t =3D 0; - const char *got; - - if (!lds->cmd_path) { - uint32_t dm_domid =3D libxl_get_stubdom_id(CTX, domid); - lds->cmd_path =3D DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, - "/logdirty/cmd"); - lds->ret_path =3D DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, - "/logdirty/ret"); - } - lds->cmd =3D enable ? "enable" : "disable"; - - rc =3D libxl__ev_xswatch_register(gc, &lds->watch, - switch_logdirty_xswatch, lds->ret_path); - if (rc) goto out; - - rc =3D libxl__ev_time_register_rel(ao, &lds->timeout, - switch_logdirty_timeout, 10*1000); - if (rc) goto out; - - for (;;) { - rc =3D libxl__xs_transaction_start(gc, &t); - if (rc) goto out; - - rc =3D libxl__xs_read_checked(gc, t, lds->cmd_path, &got); - if (rc) goto out; - - if (got) { - const char *got_ret; - rc =3D libxl__xs_read_checked(gc, t, lds->ret_path, &got_ret); - if (rc) goto out; - - if (!got_ret || strcmp(got, got_ret)) { - LOGD(ERROR, domid, "controlling logdirty: qemu was already= sent" - " command `%s' (xenstore path `%s') but result is `%s= '", - got, lds->cmd_path, got_ret ? got_ret : ""); - rc =3D ERROR_FAIL; - goto out; - } - rc =3D libxl__xs_rm_checked(gc, t, lds->cmd_path); - if (rc) goto out; - } - - rc =3D libxl__xs_rm_checked(gc, t, lds->ret_path); - if (rc) goto out; - - rc =3D libxl__xs_write_checked(gc, t, lds->cmd_path, lds->cmd); - if (rc) goto out; - - rc =3D libxl__xs_transaction_commit(gc, &t); - if (!rc) break; - if (rc<0) goto out; - } - - /* OK, wait for some callback */ - return; - - out: - LOGD(ERROR, domid, "logdirty switch failed (rc=3D%d), abandoning suspe= nd",rc); - libxl__xs_transaction_abort(gc, &t); - switch_logdirty_done(egc,lds,rc); -} - -static void switch_logdirty_xswatch(libxl__egc *egc, libxl__ev_xswatch *wa= tch, - const char *watch_path, const char *event_path) -{ - libxl__logdirty_switch *lds =3D CONTAINER_OF(watch, *lds, watch); - STATE_AO_GC(lds->ao); - const char *got; - xs_transaction_t t =3D 0; - int rc; - - for (;;) { - rc =3D libxl__xs_transaction_start(gc, &t); - if (rc) goto out; - - rc =3D libxl__xs_read_checked(gc, t, lds->ret_path, &got); - if (rc) goto out; - - if (!got) { - rc =3D +1; - goto out; - } - - if (strcmp(got, lds->cmd)) { - LOG(ERROR,"logdirty switch: sent command `%s' but got reply `%= s'" - " (xenstore paths `%s' / `%s')", lds->cmd, got, - lds->cmd_path, lds->ret_path); - rc =3D ERROR_FAIL; - goto out; - } - - rc =3D libxl__xs_rm_checked(gc, t, lds->cmd_path); - if (rc) goto out; - - rc =3D libxl__xs_rm_checked(gc, t, lds->ret_path); - if (rc) goto out; - - rc =3D libxl__xs_transaction_commit(gc, &t); - if (!rc) break; - if (rc<0) goto out; - } - - out: - /* rc < 0: error - * rc =3D=3D 0: ok, we are done - * rc =3D=3D +1: need to keep waiting - */ - libxl__xs_transaction_abort(gc, &t); - - if (rc <=3D 0) { - if (rc < 0) - LOG(ERROR,"logdirty switch: failed (rc=3D%d)",rc); - switch_logdirty_done(egc,lds,rc); - } -} - static void domain_suspend_switch_qemu_xen_logdirty (libxl__egc *egc, int domid, unsigned enabl= e, libxl__logdirty_switch *lds) diff --git a/tools/libs/light/libxl_dom_suspend.c b/tools/libs/light/libxl_= dom_suspend.c index 6091a5f3f6..f0a74fc82c 100644 --- a/tools/libs/light/libxl_dom_suspend.c +++ b/tools/libs/light/libxl_dom_suspend.c @@ -85,15 +85,8 @@ void libxl__domain_suspend_device_model(libxl__egc *egc, STATE_AO_GC(dsps->ao); int rc =3D 0; uint32_t const domid =3D dsps->domid; - const char *const filename =3D dsps->dm_savefile; =20 switch (libxl__device_model_version_running(gc, domid)) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: { - LOGD(DEBUG, domid, "Saving device model state to %s", filename); - libxl__qemu_traditional_cmd(gc, domid, "save"); - libxl__wait_for_device_model_deprecated(gc, domid, "paused", NULL,= NULL, NULL); - break; - } case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: /* calls dsps->callback_device_model_done when done */ libxl__qmp_suspend_save(egc, dsps); /* must be last */ @@ -420,21 +413,7 @@ static void domain_suspend_callback_common_done(libxl_= _egc *egc, =20 int libxl__domain_resume_device_model_deprecated(libxl__gc *gc, uint32_t d= omid) { - const char *path, *state; - switch (libxl__device_model_version_running(gc, domid)) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: { - uint32_t dm_domid =3D libxl_get_stubdom_id(CTX, domid); - - path =3D DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state"); - state =3D libxl__xs_read(gc, XBT_NULL, path); - if (state !=3D NULL && !strcmp(state, "paused")) { - libxl__qemu_traditional_cmd(gc, domid, "continue"); - libxl__wait_for_device_model_deprecated(gc, domid, "running", - NULL, NULL, NULL); - } - break; - } case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: if (libxl__qmp_resume(gc, domid)) return ERROR_FAIL; @@ -493,8 +472,6 @@ static void dm_resume_dispose(libxl__gc *gc, libxl__ev_xswatch_deregister(gc, &dmrs->watch); } =20 -static void dm_resume_xswatch_cb(libxl__egc *egc, - libxl__ev_xswatch *, const char *watch_path, const char *); static void dm_resume_qmp_done(libxl__egc *egc, libxl__ev_qmp *qmp, const libxl__json_object *, int rc); static void dm_resume_timeout(libxl__egc *egc, @@ -521,27 +498,6 @@ void libxl__dm_resume(libxl__egc *egc, if (rc) goto out; =20 switch (libxl__device_model_version_running(gc, domid)) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: { - uint32_t dm_domid =3D libxl_get_stubdom_id(CTX, domid); - const char *path, *state; - - path =3D DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state"); - rc =3D libxl__xs_read_checked(gc, XBT_NULL, path, &state); - if (rc) goto out; - if (!state || strcmp(state, "paused")) { - /* already running */ - rc =3D 0; - goto out; - } - - rc =3D libxl__qemu_traditional_cmd(gc, domid, "continue"); - if (rc) goto out; - rc =3D libxl__ev_xswatch_register(gc, &dmrs->watch, - dm_resume_xswatch_cb, - path); - if (rc) goto out; - break; - } case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: qmp->ao =3D dmrs->ao; qmp->domid =3D domid; @@ -561,27 +517,6 @@ out: dm_resume_done(egc, dmrs, rc); } =20 -static void dm_resume_xswatch_cb(libxl__egc *egc, - libxl__ev_xswatch *xsw, - const char *watch_path, - const char *event_path) -{ - EGC_GC; - libxl__dm_resume_state *dmrs =3D CONTAINER_OF(xsw, *dmrs, watch); - int rc; - const char *value; - - rc =3D libxl__xs_read_checked(gc, XBT_NULL, watch_path, &value); - if (rc) goto out; - - if (!value || strcmp(value, "running")) - return; - - rc =3D 0; -out: - dm_resume_done(egc, dmrs, rc); -} - static void dm_resume_qmp_done(libxl__egc *egc, libxl__ev_qmp *qmp, const libxl__json_object *response, diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_domai= n.c index 6751fc785f..dd2e5e9a19 100644 --- a/tools/libs/light/libxl_domain.c +++ b/tools/libs/light/libxl_domain.c @@ -1877,8 +1877,6 @@ int libxl_set_vcpuonline(libxl_ctx *ctx, uint32_t dom= id, switch (libxl__domain_type(gc, domid)) { case LIBXL_DOMAIN_TYPE_HVM: switch (libxl__device_model_version_running(gc, domid)) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - break; case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: rc =3D libxl__ev_time_register_rel(ao, &svos->timeout, set_vcpuonline_timeout, @@ -2116,7 +2114,6 @@ static void domain_s3_resume(libxl__ao *ao, libxl__eg= c *egc, int domid) AO_GC; libxl__ev_qmp *qmp; int rc =3D 0; - int r; =20 GCNEW(qmp); libxl__ev_qmp_init(qmp); @@ -2128,14 +2125,6 @@ static void domain_s3_resume(libxl__ao *ao, libxl__e= gc *egc, int domid) switch (libxl__domain_type(gc, domid)) { case LIBXL_DOMAIN_TYPE_HVM: switch (libxl__device_model_version_running(gc, domid)) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - r =3D xc_hvm_param_set(CTX->xch, domid, HVM_PARAM_ACPI_S_STATE= , 0); - if (r) { - LOGED(ERROR, domid, "Send trigger '%s' failed", - libxl_trigger_to_string(LIBXL_TRIGGER_S3RESUME)); - rc =3D ERROR_FAIL; - } - break; case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: rc =3D libxl__ev_qmp_send(egc, qmp, "system_wakeup", NULL); if (rc) goto out; @@ -2481,10 +2470,6 @@ static void retrieve_domain_configuration_end(libxl_= _egc *egc, case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: libxl_bitmap_copy(CTX, map, &rdcs->qemuu_cpus); break; - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - rc =3D libxl__update_avail_vcpus_xenstore(gc, domid, - max_vcpus, map); - break; default: abort(); } diff --git a/tools/libs/light/libxl_internal.c b/tools/libs/light/libxl_int= ernal.c index c95624933f..2941ca0bbd 100644 --- a/tools/libs/light/libxl_internal.c +++ b/tools/libs/light/libxl_internal.c @@ -387,11 +387,9 @@ int libxl__device_model_version_running(libxl__gc *gc,= uint32_t domid) path =3D libxl__xs_libxl_path(gc, domid); path =3D GCSPRINTF("%s/dm-version", path); dm_version =3D libxl__xs_read(gc, XBT_NULL, path); - if (!dm_version) { - return LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; - } =20 - if (libxl_device_model_version_from_string(dm_version, &value) < 0) { + if (!dm_version || + libxl_device_model_version_from_string(dm_version, &value) < 0) { LOGD(ERROR, domid, "fatal: %s contain a wrong value (%s)", path, d= m_version); return -1; } diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_int= ernal.h index cfac8e18b6..4b4a566378 100644 --- a/tools/libs/light/libxl_internal.h +++ b/tools/libs/light/libxl_internal.h @@ -1423,8 +1423,6 @@ _hidden int libxl__build_hvm(libxl__gc *gc, uint32_t = domid, libxl_domain_config *d_config, libxl__domain_build_state *state); =20 -_hidden int libxl__qemu_traditional_cmd(libxl__gc *gc, uint32_t domid, - const char *cmd); _hidden int libxl__domain_rename(libxl__gc *gc, uint32_t domid, const char *old_name, const char *new_nam= e, xs_transaction_t trans); @@ -2318,8 +2316,7 @@ _hidden char *libxl__json_object_to_json(libxl__gc *g= c, #define JSON(o) \ (libxl__json_object_to_json(gc, (o)) ? : "") =20 - /* Based on /local/domain/$domid/dm-version xenstore key - * default is qemu xen traditional */ + /* Based on /local/domain/$domid/dm-version xenstore key */ _hidden int libxl__device_model_version_running(libxl__gc *gc, uint32_t do= mid); =20 static inline diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c index 1647fd6f47..8c5f914435 100644 --- a/tools/libs/light/libxl_pci.c +++ b/tools/libs/light/libxl_pci.c @@ -1020,82 +1020,6 @@ static int pci_multifunction_check(libxl__gc *gc, li= bxl_device_pci *pci, unsigne return 0; } =20 -static int pci_ins_check(libxl__gc *gc, uint32_t domid, const char *state,= void *priv) -{ - char *orig_state =3D priv; - - if ( !strcmp(state, "pci-insert-failed") ) - return -1; - if ( !strcmp(state, "pci-inserted") ) - return 0; - if ( !strcmp(state, orig_state) ) - return 1; - - return 1; -} - -static int qemu_pci_add_xenstore(libxl__gc *gc, uint32_t domid, - libxl_device_pci *pci) -{ - libxl_ctx *ctx =3D libxl__gc_owner(gc); - int rc =3D 0; - char *path; - char *state, *vdevfn; - uint32_t dm_domid; - - dm_domid =3D libxl_get_stubdom_id(CTX, domid); - path =3D DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state"); - state =3D libxl__xs_read(gc, XBT_NULL, path); - path =3D DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/parameter"); - if (pci->vdevfn) { - libxl__xs_printf(gc, XBT_NULL, path, PCI_BDF_VDEVFN","PCI_OPTIONS, - pci->domain, pci->bus, pci->dev, - pci->func, pci->vdevfn, pci->msitranslate, - pci->power_mgmt); - } else { - libxl__xs_printf(gc, XBT_NULL, path, PCI_BDF","PCI_OPTIONS, - pci->domain, pci->bus, pci->dev, - pci->func, pci->msitranslate, pci->power_mgmt); - } - - libxl__qemu_traditional_cmd(gc, domid, "pci-ins"); - rc =3D libxl__wait_for_device_model_deprecated(gc, domid, NULL, NULL, - pci_ins_check, state); - path =3D DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/parameter"); - vdevfn =3D libxl__xs_read(gc, XBT_NULL, path); - path =3D DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state"); - if ( rc < 0 ) - LOGD(ERROR, domid, "qemu refused to add device: %s", vdevfn); - else if ( sscanf(vdevfn, "0x%x", &pci->vdevfn) !=3D 1 ) { - LOGD(ERROR, domid, "wrong format for the vdevfn: '%s'", vdevfn); - rc =3D -1; - } - xs_write(ctx->xsh, XBT_NULL, path, state, strlen(state)); - - return rc; -} - -static int check_qemu_running(libxl__gc *gc, - libxl_domid domid, - libxl__xswait_state *xswa, - int rc, - const char *state) -{ - if (rc) { - if (rc =3D=3D ERROR_TIMEDOUT) { - LOGD(ERROR, domid, "%s not ready", xswa->what); - } - goto out; - } - - if (!state || strcmp(state, "running")) - return ERROR_NOT_READY; - -out: - libxl__xswait_stop(gc, xswa); - return rc; -} - typedef struct pci_add_state { /* filled by user of do_pci_add */ libxl__ao_device *aodev; @@ -1116,8 +1040,6 @@ typedef struct pci_add_state { int retries; } pci_add_state; =20 -static void pci_add_qemu_trad_watch_state_cb(libxl__egc *egc, - libxl__xswait_state *xswa, int rc, const char *state); static void pci_add_qmp_device_add(libxl__egc *, pci_add_state *); static void pci_add_qmp_device_add_cb(libxl__egc *, libxl__ev_qmp *, const libxl__json_object *, int rc); @@ -1153,16 +1075,6 @@ static void do_pci_add(libxl__egc *egc, =20 if (type =3D=3D LIBXL_DOMAIN_TYPE_HVM) { switch (libxl__device_model_version_running(gc, domid)) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - pas->xswait.ao =3D ao; - pas->xswait.what =3D "Device Model"; - pas->xswait.path =3D DEVICE_MODEL_XS_PATH(gc, - libxl_get_stubdom_id(CTX, domid), domid, "/state"); - pas->xswait.timeout_ms =3D LIBXL_DEVICE_MODEL_START_TIMEOU= T * 1000; - pas->xswait.callback =3D pci_add_qemu_trad_watch_state_cb; - rc =3D libxl__xswait_start(gc, &pas->xswait); - if (rc) goto out; - return; case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: rc =3D libxl__ev_time_register_rel(ao, &pas->timeout, pci_add_timeout, @@ -1183,29 +1095,6 @@ out: pci_add_dm_done(egc, pas, rc); /* must be last */ } =20 -static void pci_add_qemu_trad_watch_state_cb(libxl__egc *egc, - libxl__xswait_state *xswa, - int rc, - const char *state) -{ - pci_add_state *pas =3D CONTAINER_OF(xswa, *pas, xswait); - STATE_AO_GC(pas->aodev->ao); - - /* Convenience aliases */ - libxl_domid domid =3D pas->domid; - libxl_device_pci *pci =3D &pas->pci; - - rc =3D check_qemu_running(gc, domid, xswa, rc, state); - if (rc =3D=3D ERROR_NOT_READY) - return; - if (rc) - goto out; - - rc =3D qemu_pci_add_xenstore(gc, domid, pci); -out: - pci_add_dm_done(egc, pas, rc); /* must be last */ -} - static void pci_add_qmp_device_add(libxl__egc *egc, pci_add_state *pas) { STATE_AO_GC(pas->aodev->ao); @@ -1877,42 +1766,6 @@ static void add_pcis_done(libxl__egc *egc, libxl__mu= ltidev *multidev, aodev->callback(egc, aodev); } =20 -static int qemu_pci_remove_xenstore(libxl__gc *gc, uint32_t domid, - libxl_device_pci *pci, int force) -{ - libxl_ctx *ctx =3D libxl__gc_owner(gc); - char *state; - char *path; - uint32_t dm_domid; - - dm_domid =3D libxl_get_stubdom_id(CTX, domid); - - path =3D DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state"); - state =3D libxl__xs_read(gc, XBT_NULL, path); - path =3D DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/parameter"); - libxl__xs_printf(gc, XBT_NULL, path, PCI_BDF, pci->domain, - pci->bus, pci->dev, pci->func); - - /* Remove all functions at once atomically by only signalling - * device-model for function 0 */ - if ( !force && (pci->vdevfn & 0x7) =3D=3D 0 ) { - libxl__qemu_traditional_cmd(gc, domid, "pci-rem"); - if (libxl__wait_for_device_model_deprecated(gc, domid, "pci-remove= d", - NULL, NULL, NULL) < 0) { - LOGD(ERROR, domid, "Device Model didn't respond in time"); - /* This depends on guest operating system acknowledging the - * SCI, if it doesn't respond in time then we may wish to - * force the removal. - */ - return ERROR_FAIL; - } - } - path =3D DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state"); - xs_write(ctx->xsh, XBT_NULL, path, state, strlen(state)); - - return 0; -} - typedef struct pci_remove_state { libxl__ao_device *aodev; libxl_domid domid; @@ -1935,8 +1788,6 @@ static void libxl__device_pci_remove_common(libxl__eg= c *egc, static void device_pci_remove_common_next(libxl__egc *egc, pci_remove_state *prs, int rc); =20 -static void pci_remove_qemu_trad_watch_state_cb(libxl__egc *egc, - libxl__xswait_state *xswa, int rc, const char *state); static void pci_remove_qmp_device_del(libxl__egc *egc, pci_remove_state *prs); static void pci_remove_qmp_device_del_cb(libxl__egc *egc, @@ -1982,16 +1833,6 @@ static void do_pci_remove(libxl__egc *egc, pci_remov= e_state *prs) if (type =3D=3D LIBXL_DOMAIN_TYPE_HVM) { prs->hvm =3D true; switch (libxl__device_model_version_running(gc, domid)) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - prs->xswait.ao =3D ao; - prs->xswait.what =3D "Device Model"; - prs->xswait.path =3D DEVICE_MODEL_XS_PATH(gc, - libxl_get_stubdom_id(CTX, domid), domid, "/state"); - prs->xswait.timeout_ms =3D LIBXL_DEVICE_MODEL_START_TIMEOUT * = 1000; - prs->xswait.callback =3D pci_remove_qemu_trad_watch_state_cb; - rc =3D libxl__xswait_start(gc, &prs->xswait); - if (rc) goto out_fail; - return; case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: pci_remove_qmp_device_del(egc, prs); /* must be last */ return; @@ -2005,30 +1846,6 @@ out_fail: pci_remove_detached(egc, prs, rc); /* must be last */ } =20 -static void pci_remove_qemu_trad_watch_state_cb(libxl__egc *egc, - libxl__xswait_state *xswa, - int rc, - const char *state) -{ - pci_remove_state *prs =3D CONTAINER_OF(xswa, *prs, xswait); - STATE_AO_GC(prs->aodev->ao); - - /* Convenience aliases */ - libxl_domid domid =3D prs->domid; - libxl_device_pci *const pci =3D &prs->pci; - - rc =3D check_qemu_running(gc, domid, xswa, rc, state); - if (rc =3D=3D ERROR_NOT_READY) - return; - if (rc) - goto out; - - rc =3D qemu_pci_remove_xenstore(gc, domid, pci, prs->force); - -out: - pci_remove_detached(egc, prs, rc); -} - static void pci_remove_qmp_device_del(libxl__egc *egc, pci_remove_state *prs) { diff --git a/tools/libs/light/libxl_stream_write.c b/tools/libs/light/libxl= _stream_write.c index 634f3240d1..98d44597a7 100644 --- a/tools/libs/light/libxl_stream_write.c +++ b/tools/libs/light/libxl_stream_write.c @@ -252,10 +252,6 @@ void libxl__stream_write_start(libxl__egc *egc, stream->device_model_version =3D libxl__device_model_version_running(gc, dss->domid); switch (stream->device_model_version) { - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: - stream->emu_sub_hdr.id =3D EMULATOR_QEMU_TRADITIONAL; - break; - case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: stream->emu_sub_hdr.id =3D EMULATOR_QEMU_UPSTREAM; break; diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_type= s.idl index bd4b8721ff..682bc1bd64 100644 --- a/tools/libs/light/libxl_types.idl +++ b/tools/libs/light/libxl_types.idl @@ -104,7 +104,6 @@ libxl_channel_connection =3D Enumeration("channel_conne= ction", [ =20 libxl_device_model_version =3D Enumeration("device_model_version", [ (0, "UNKNOWN"), - (1, "QEMU_XEN_TRADITIONAL"), # Historical qemu-xen device model (qemu-= dm) (2, "QEMU_XEN"), # Upstream based qemu-xen device model ]) =20 diff --git a/tools/python/xen/migration/libxl.py b/tools/python/xen/migrati= on/libxl.py index 5dcb50fe02..dc5c7ac355 100644 --- a/tools/python/xen/migration/libxl.py +++ b/tools/python/xen/migration/libxl.py @@ -51,12 +51,10 @@ rec_type_to_str =3D { EMULATOR_HEADER_FORMAT =3D "II" =20 EMULATOR_ID_unknown =3D 0x00000000 -EMULATOR_ID_qemu_trad =3D 0x00000001 EMULATOR_ID_qemu_upstream =3D 0x00000002 =20 emulator_id_to_str =3D { EMULATOR_ID_unknown : "Unknown", - EMULATOR_ID_qemu_trad : "Qemu Traditional", EMULATOR_ID_qemu_upstream : "Qemu Upstream", } =20 diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c index 089a88935a..219e924779 100644 --- a/tools/xl/xl_parse.c +++ b/tools/xl/xl_parse.c @@ -2733,10 +2733,7 @@ skip_usbdev: xlu_cfg_replace_string (config, "device_model_override", &b_info->device_model, 0); if (!xlu_cfg_get_string (config, "device_model_version", &buf, 0)) { - if (!strcmp(buf, "qemu-xen-traditional")) { - b_info->device_model_version - =3D LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; - } else if (!strcmp(buf, "qemu-xen")) { + if (!strcmp(buf, "qemu-xen")) { b_info->device_model_version =3D LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN; } else { --=20 2.43.0 From nobody Fri Oct 31 23:30:12 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1743005130; cv=none; d=zohomail.com; s=zohoarc; b=OzfGyMx2qQAS4iVpp5bY2Bl/owZitAcbqb/CiJmxtOuuNX9RXLo1Zk6yeF3E5sR3PjY+/jobWhQDIbqovxbn+B/6yH+8KGMBtCzIuCthbPzrl7zmzmvkQlRV81qgJ3r+JymQGzoAZbPdwF7of7wVbFkAzpK8rQEOfEPxt7Iu9JA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743005130; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wo7/7gJlfb6rg7ehV94OB+q9oJzLgzT/XzrTBr8sNpE=; b=l8aBalexsGjvGa8uZUrreyY9lVyOtNjdrshHToZDfmCSXreV3ahh/BCR2w+7h9GPP3CF6sf/A+ybbGsZuPiDou4ydIsSl6t3q8wu+ke5jFjDj5Ainiw5PivINKuGRYgZ8D8eAdKUEMraP/OQ7NmxQKQUTjwY3IEy3m9eehHk4Po= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1743005130797317.0943996256343; Wed, 26 Mar 2025 09:05:30 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.928062.1330848 (Exim 4.92) (envelope-from ) id 1txTFg-0002jQ-LI; Wed, 26 Mar 2025 16:05:12 +0000 Received: by outflank-mailman (output) from mailman id 928062.1330848; Wed, 26 Mar 2025 16:05:12 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1txTFg-0002jH-HK; Wed, 26 Mar 2025 16:05:12 +0000 Received: by outflank-mailman (input) for mailman id 928062; Wed, 26 Mar 2025 16:05:10 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1txTFe-0001z3-L4 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:05:10 +0000 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 16d6864b-0a5c-11f0-9ffa-bf95429c2676; Wed, 26 Mar 2025 17:05:08 +0100 (CET) Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 1F3001F395; Wed, 26 Mar 2025 16:05:08 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id AEFD21374A; Wed, 26 Mar 2025 16:05:07 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 9mRCKbMl5GcgaQAAD6G6ig (envelope-from ); Wed, 26 Mar 2025 16:05:07 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 16d6864b-0a5c-11f0-9ffa-bf95429c2676 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1743005108; h=from:from:reply-to: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=wo7/7gJlfb6rg7ehV94OB+q9oJzLgzT/XzrTBr8sNpE=; b=a09RH0ULJsXIHbHkSjAyWVjHKYvlm4tZwauqlGgw5GvFyQTc2/7dHn6j+0zWjPvL4J1SHP vV3bOwVw2+1f2A5d3jeSAizrwG2zk8byjN/Jv7ALpTZhqyQpg4x6cA+C/WwFJ5ZSGuJGx4 76RaLcn7G25+T2c8ZMhMCsmDYJPQfus= Authentication-Results: smtp-out2.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1743005108; h=from:from:reply-to: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=wo7/7gJlfb6rg7ehV94OB+q9oJzLgzT/XzrTBr8sNpE=; b=a09RH0ULJsXIHbHkSjAyWVjHKYvlm4tZwauqlGgw5GvFyQTc2/7dHn6j+0zWjPvL4J1SHP vV3bOwVw2+1f2A5d3jeSAizrwG2zk8byjN/Jv7ALpTZhqyQpg4x6cA+C/WwFJ5ZSGuJGx4 76RaLcn7G25+T2c8ZMhMCsmDYJPQfus= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Andrew Cooper , Anthony PERARD , Michal Orzel , Jan Beulich , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Stefano Stabellini , Oleksii Kurochko , Community Manager , Samuel Thibault Subject: [PATCH 4/6] tools: remove qemu-traditional Date: Wed, 26 Mar 2025 17:04:38 +0100 Message-ID: <20250326160442.19706-5-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250326160442.19706-1-jgross@suse.com> References: <20250326160442.19706-1-jgross@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -1.80 X-Spamd-Result: default: False [-1.80 / 50.00]; BAYES_HAM(-3.00)[100.00%]; SUSPICIOUS_RECIPS(1.50)[]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; TAGGED_RCPT(0.00)[]; RCPT_COUNT_TWELVE(0.00)[12]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_TLS_ALL(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; FROM_HAS_DN(0.00)[]; FREEMAIL_CC(0.00)[suse.com,citrix.com,vates.tech,amd.com,xen.org,kernel.org,gmail.com,xenproject.org,ens-lyon.org]; TO_DN_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; DBL_BLOCKED_OPENRESOLVER(0.00)[stubdompath.sh:url,invisiblethingslab.com:email,xenstorepvh-minios-config.mk:url,support.md:url,changelog.md:url,vates.tech:email,suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo,xenproject.org:url,ioemu-minios-config.mk:url,keepachangelog.com:url,xen.org:url,config.mk:url] X-Spam-Flag: NO X-Spam-Level: X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1743005131683019000 Remove qemu traditional from the tree. Signed-off-by: Juergen Gross --- .gitignore | 3 -- CHANGELOG.md | 1 + Config.mk | 24 ----------- INSTALL | 12 ------ MAINTAINERS | 4 -- README | 2 +- SUPPORT.md | 16 ------- config/Tools.mk.in | 1 - stubdom/Makefile | 84 +------------------------------------ stubdom/configure | 90 ---------------------------------------- stubdom/configure.ac | 15 ------- stubdom/ioemu-minios.cfg | 6 --- tools/Makefile | 58 -------------------------- tools/Rules.mk | 3 -- tools/config.h.in | 3 -- tools/configure | 40 ++---------------- tools/configure.ac | 21 +--------- 17 files changed, 9 insertions(+), 374 deletions(-) delete mode 100644 stubdom/ioemu-minios.cfg diff --git a/.gitignore b/.gitignore index 53f5df0003..ccc0bebee6 100644 --- a/.gitignore +++ b/.gitignore @@ -255,9 +255,6 @@ LibVNCServer* tools/qemu-xen-dir-remote tools/qemu-xen-dir =20 -tools/qemu-xen-traditional-dir-remote -tools/qemu-xen-traditional-dir - tools/firmware/seabios-dir-remote tools/firmware/seabios-dir =20 diff --git a/CHANGELOG.md b/CHANGELOG.md index b03e2c73d7..d530b1d95b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ The format is based on [Keep a Changelog](https://keepach= angelog.com/en/1.0.0/) capability usage is not yet supported on PVH dom0). =20 ### Removed + - Support of qemu-traditional has been removed. =20 ## [4.20.0](https://xenbits.xenproject.org/gitweb/?p=3Dxen.git;a=3Dshortlo= g;h=3DRELEASE-4.20.0) - 2025-03-05 =20 diff --git a/Config.mk b/Config.mk index 8a73f3da62..435bc93c0d 100644 --- a/Config.mk +++ b/Config.mk @@ -208,22 +208,12 @@ XEN_EXTFILES_URL ?=3D https://xenbits.xen.org/xen-ext= files =20 # Where to look for inlined subtrees (for example, from a tarball) QEMU_UPSTREAM_INTREE ?=3D $(XEN_ROOT)/tools/qemu-xen -QEMU_TRADITIONAL_INTREE ?=3D $(XEN_ROOT)/tools/qemu-xen-traditional =20 =20 # Handle legacy options ifneq (,$(SEABIOS_UPSTREAM_TAG)) SEABIOS_UPSTREAM_REVISION ?=3D $(SEABIOS_UPSTREAM_TAG) endif -ifneq (,$(QEMU_REMOTE)) -QEMU_TRADITIONAL_URL ?=3D $(QEMU_REMOTE) -endif -ifneq (,$(CONFIG_QEMU)) -QEMU_TRADITIONAL_LOC ?=3D $(CONFIG_QEMU) -endif -ifneq (,$(QEMU_TAG)) -QEMU_TRADITIONAL_REVISION ?=3D $(QEMU_TAG) -endif =20 OVMF_UPSTREAM_URL ?=3D https://xenbits.xen.org/git-http/ovmf.git OVMF_UPSTREAM_REVISION ?=3D ba91d0292e593df8528b66f99c1b0b14fadc8e16 @@ -239,20 +229,6 @@ SEABIOS_UPSTREAM_REVISION ?=3D rel-1.16.3 =20 ETHERBOOT_NICS ?=3D rtl8139 8086100e =20 - -QEMU_TRADITIONAL_URL ?=3D https://xenbits.xen.org/git-http/qemu-xen-tradit= ional.git -QEMU_TRADITIONAL_REVISION ?=3D 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 -# Wed Jul 15 10:01:40 2020 +0100 -# qemu-trad: remove Xen path dependencies - -# Specify which qemu-dm to use. This may be `ioemu' to use the old -# Mercurial in-tree version, or a local directory, or a git URL. -# QEMU_UPSTREAM_LOC ?=3D `pwd`/$(XEN_ROOT)/../qemu-xen.git - -# Defaults for subtree locations -QEMU_TRADITIONAL_LOC ?=3D $(call or,$(wildcard $(QEMU_TRADITIONAL_INTREE))= ,\ - $(QEMU_TRADITIONAL_URL)) - QEMU_UPSTREAM_LOC ?=3D $(call or,$(wildcard $(QEMU_UPSTREAM_INTREE)),\ $(QEMU_UPSTREAM_URL)) =20 diff --git a/INSTALL b/INSTALL index 88c1464816..786e3da996 100644 --- a/INSTALL +++ b/INSTALL @@ -113,15 +113,6 @@ Build a private copy of SeaBIOS. Use the given SeaBIOS binary instead of compiling a private copy. --with-system-seabios=3DPATH =20 -Build the old qemu used by xm/xend. This is required if existing domUs -should be migrated to this host, or if existing domU snapshots should be -started with this version of the tools. Only if all domUs used the new -upstream qemu during initial start it is safe to disable this option. -The old qemu requires rombios, which can be disable along with -qemu-traditional. - --enable-qemu-traditional - --enable-rombios - The libxl toolstack uses the upstream qemu per default. A private copy will be built. If desired this private copy can be configured with additional options passed to its configure script. @@ -245,7 +236,6 @@ locations. XEN_EXTFILES_URL=3D OVMF_UPSTREAM_URL=3D QEMU_UPSTREAM_URL=3D -QEMU_TRADITIONAL_URL=3D SEABIOS_UPSTREAM_URL=3D MINIOS_UPSTREAM_URL=3D =20 @@ -253,7 +243,6 @@ Using additional CFLAGS to build tools which will run i= n dom0 is required when building distro packages. These variables can be used to pass RPM_OPT_FLAGS. EXTRA_CFLAGS_XEN_TOOLS=3D -EXTRA_CFLAGS_QEMU_TRADITIONAL=3D EXTRA_CFLAGS_QEMU_XEN=3D =20 Additional CFLAGS may be supplied to the build of the hypervisor by @@ -340,7 +329,6 @@ sudo make install BOOT_DIR=3D/ood/path/boot EFI_DIR=3D/= odd/path/efi export WGET=3D$(type -P false) export GIT=3D$(type -P false) export EXTRA_CFLAGS_XEN_TOOLS=3D"$RPM_OPT_FLAGS" -export EXTRA_CFLAGS_QEMU_TRADITIONAL=3D"$RPM_OPT_FLAGS" export EXTRA_CFLAGS_QEMU_XEN=3D"$RPM_OPT_FLAGS" %configure \ --with-initddir=3D%{_initddir} diff --git a/MAINTAINERS b/MAINTAINERS index c11b82eca9..7d1b3b8641 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -466,10 +466,6 @@ M: Marek Marczykowski-G=C3=B3recki S: Supported F: tools/python =20 -QEMU-DM -S: Supported -T: git https://xenbits.xenproject.org/git-http/qemu-xen-traditional.git - QEMU UPSTREAM M: Stefano Stabellini M: Anthony Perard diff --git a/README b/README index be90be3910..6ee58f7b35 100644 --- a/README +++ b/README @@ -80,7 +80,7 @@ disabled at compile time: libnl-3-dev, etc). Required if network buffering is desired when using Remus with libxl. See docs/README.remus for detailed information. - * 16-bit x86 assembler, loader and compiler for qemu-traditional / rom= bios + * 16-bit x86 assembler, loader and compiler for rombios (dev86 rpm or bin86 & bcc debs) * Development install of liblzma for rombios * Development install of libbz2, liblzma, liblzo2, and libzstd for DomU diff --git a/SUPPORT.md b/SUPPORT.md index ed4412f0af..39cb1ddee1 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -995,21 +995,6 @@ See the section **Blkback** for image formats supporte= d by QEMU. =20 Status: Supported, not security supported =20 -### qemu-xen-traditional ### - -The Xen Project provides an old version of qemu with modifications -which enable use as a device model stub domain. The old version is -normally selected by default only in a stub dm configuration, but it -can be requested explicitly in other configurations, for example in -`xl` with `device_model_version=3D"QEMU_XEN_TRADITIONAL"`. - - Status, Device Model Stub Domains: Supported, with caveats - Status, as host process device model: No security support, not recomme= nded - -qemu-xen-traditional is security supported only for those available -devices which are supported for mainstream QEMU (see above), with -trusted driver domains (see Device Model Stub Domains). - ## Virtual Firmware =20 ### x86/HVM iPXE @@ -1028,7 +1013,6 @@ as the guest itself. Booting a guest via guest BIOS firmware =20 Status, SeaBIOS (qemu-xen): Supported - Status, ROMBIOS (qemu-xen-traditional): Supported =20 ### x86/HVM OVMF =20 diff --git a/config/Tools.mk.in b/config/Tools.mk.in index 37c071961e..463ab75965 100644 --- a/config/Tools.mk.in +++ b/config/Tools.mk.in @@ -43,7 +43,6 @@ CONFIG_OVMF :=3D @ovmf@ CONFIG_ROMBIOS :=3D @rombios@ CONFIG_SEABIOS :=3D @seabios@ CONFIG_IPXE :=3D @ipxe@ -CONFIG_QEMU_TRAD :=3D @qemu_traditional@ CONFIG_QEMU_XEN :=3D @qemu_xen@ CONFIG_QEMUU_EXTRA_ARGS:=3D @EXTRA_QEMUU_CONFIGURE_ARGS@ CONFIG_LIBNL :=3D @libnl@ diff --git a/stubdom/Makefile b/stubdom/Makefile index 724ce40365..82fc1e90f8 100644 --- a/stubdom/Makefile +++ b/stubdom/Makefile @@ -7,7 +7,6 @@ export PKG_CONFIG_DIR =3D $(CURDIR)/pkg-config =20 # Remove flags which are meant for tools, e.g. "-m64" export EXTRA_CFLAGS_XEN_TOOLS=3D -export EXTRA_CFLAGS_QEMU_TRADITIONAL=3D =20 export stubdom=3Dy export debug=3Dy @@ -267,43 +266,6 @@ cross-tpmemu: $(TPMEMU_STAMPFILE) .PHONY: $(CROSS_ROOT) $(CROSS_ROOT): cross-newlib cross-zlib cross-libpci =20 -QEMU_ROOT :=3D $(shell if [ -d "$(QEMU_TRADITIONAL_LOC)" ]; then echo "$(Q= EMU_TRADITIONAL_LOC)"; else echo .; fi) - -ifneq ($(filter ioemu,$(STUBDOM_TARGETS)),) -IOEMU_LINKFARM_TARGET :=3D ioemu/linkfarm.stamp -endif - -ifeq ($(QEMU_ROOT),.) -$(XEN_ROOT)/tools/qemu-xen-traditional-dir: - $(MAKE) DESTDIR=3D -C $(XEN_ROOT)/tools qemu-xen-traditional-dir-find - -ioemu/linkfarm.stamp: $(XEN_ROOT)/tools/qemu-xen-traditional-dir - mkdir -p ioemu - set -e; \ - $(buildmakevars2shellvars); \ - cd ioemu; \ - src=3D"$$XEN_ROOT/tools/qemu-xen-traditional-dir"; export src; \ - (cd $$src && find * -type d \ - $(addprefix ! -path , '*-softmmu*' '*-linux-user*') -print) \ - | xargs mkdir -p; \ - (cd $$src && find * ! -type l -type f $(addprefix ! -path , \ - '*.[oda1]' 'config-*' config.mak qemu-dm qemu-img-xen \ - '*.html' '*.pod' '*-softmmu*' '*-linux-user*' \ - )) >linkfarm.stamp.tmp; \ - cmp -s linkfarm.stamp.tmp linkfarm.stamp && \ - rm linkfarm.stamp.tmp || { \ - mv linkfarm.stamp.tmp linkfarm.stamp; \ - cat linkfarm.stamp | while read f; \ - do rm -f "$$f"; ln -s "$$src/$$f" "$$f"; done; \ - } -else -export QEMU_ROOT - -ioemu/linkfarm.stamp: - mkdir -p ioemu - touch ioemu/linkfarm.stamp -endif - ####### # libraries under tools/libs ####### @@ -380,29 +342,6 @@ $(TARGETS_MINIOS): mini-os-%: mkdir -p $@/$$i ; \ done =20 -####### -# ioemu -####### - -ioemu-minios.gen.cfg: APP_LIBS =3D evtchn gnttab ctrl guest -ioemu-minios.gen.cfg: ioemu-minios.cfg Makefile - $(GEN_config) >$@ - -ioemu-minios-config.mk: ioemu-minios.gen.cfg - MINIOS_CONFIG=3D"$(CURDIR)/$<" CONFIG_FILE=3D"$(CURDIR)/$@" $(MAKE) DESTD= IR=3D -C $(MINI_OS) config - -.PHONY: ioemu -ioemu: cross-zlib cross-libpci libxenguest ioemu-minios-config.mk - [ -f ioemu/config-host.mak ] || \ - ( $(buildmakevars2shellvars); \ - cd ioemu ; \ - LWIPDIR=3D$(CURDIR)/lwip-$(XEN_TARGET_ARCH) \ - TARGET_CPPFLAGS=3D"$(TARGET_CPPFLAGS) $(shell cat ioemu-minios-config= .mk)" \ - TARGET_CFLAGS=3D"$(TARGET_CFLAGS)" \ - TARGET_LDFLAGS=3D"$(TARGET_LDFLAGS)" \ - $(QEMU_ROOT)/xen-setup-stubdom ) - $(MAKE) DESTDIR=3D -C ioemu -f $(QEMU_ROOT)/Makefile - ### # C ### @@ -496,11 +435,6 @@ xenstorepvh: $(CROSS_ROOT) xenstorepvh-minios-config.mk # minios ######## =20 -.PHONY: ioemu-stubdom -ioemu-stubdom: APP_OBJS=3D$(CURDIR)/ioemu/i386-stubdom/qemu.a $(CURDIR)/io= emu/i386-stubdom/libqemu.a $(CURDIR)/ioemu/libqemu_common.a -ioemu-stubdom: mini-os-$(XEN_TARGET_ARCH)-ioemu lwip-$(XEN_TARGET_ARCH) li= bxenguest ioemu - DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/ioemu-minios.gen.cf= g" $(MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< LWIPDIR=3D$(CURD= IR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS=3D"$(APP_OBJS)" - .PHONY: c-stubdom c-stubdom: mini-os-$(XEN_TARGET_ARCH)-c lwip-$(XEN_TARGET_ARCH) libxengues= t c DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/c/minios.cfg" $(MAK= E) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< LWIPDIR=3D$(CURDIR)/lwip= -$(XEN_TARGET_ARCH) APP_OBJS=3D$(CURDIR)/c/main.a @@ -544,13 +478,6 @@ else install: $(STUBDOMPATH) endif =20 -install-ioemu: ioemu-stubdom - $(INSTALL_DIR) "$(DESTDIR)$(LIBEXEC_BIN)" - $(INSTALL_PROG) stubdom-dm "$(DESTDIR)$(LIBEXEC_BIN)" - $(INSTALL_DATA) stubdompath.sh "$(DESTDIR)$(LIBEXEC_BIN)" - $(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)" - $(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-ioemu/mini-os.gz "$(DESTDIR)$(= XENFIRMWAREDIR)/ioemu-stubdom.gz" - install-grub: pv-grub $(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)" $(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-grub/mini-os.gz "$(DESTDIR)$(X= ENFIRMWAREDIR)/pv-grub-$(XEN_TARGET_ARCH).gz" @@ -593,11 +520,6 @@ else uninstall: endif =20 -uninstall-ioemu: - rm -f $(DESTDIR)$(LIBEXEC_BIN)/stubdom-dm - rm -f $(DESTDIR)$(LIBEXEC_BIN)/stubdompath.sh - rm -f $(DESTDIR)$(XENFIRMWAREDIR)/ioemu-stubdom.gz - uninstall-grub: rm -f $(DESTDIR)$(XENFIRMWAREDIR)/pv-grub-$(XEN_TARGET_ARCH).gz =20 @@ -617,11 +539,10 @@ uninstall-vtpmmgr: # clean ####### =20 -# Only clean the libxc/ioemu/mini-os part +# Only clean the libxc/mini-os part .PHONY: clean clean: $(foreach lib,$(STUB_LIBS),clean-libxen$(lib)) clean: - rm -fr mini-os-$(XEN_TARGET_ARCH)-ioemu rm -fr mini-os-$(XEN_TARGET_ARCH)-c rm -fr mini-os-$(XEN_TARGET_ARCH)-grub rm -fr mini-os-$(XEN_TARGET_ARCH)-xenstore @@ -636,7 +557,6 @@ clean: rm -f *-minios-config.mk rm -f *.gen.cfg rm -fr pkg-config - -[ ! -d ioemu ] || $(MAKE) DESTDIR=3D -C ioemu clean -[ ! -d xenstore ] || $(MAKE) -f $(CURDIR)/xenlibs.mk -C xenstore clean -[ ! -d xenstorepvh ] || $(MAKE) -f $(CURDIR)/xenlibs.mk -C xenstorepvh c= lean =20 @@ -647,7 +567,7 @@ crossclean: clean rm -fr newlib-$(XEN_TARGET_ARCH) rm -fr zlib-$(XEN_TARGET_ARCH) pciutils-$(XEN_TARGET_ARCH) rm -fr libs-$(XEN_TARGET_ARCH) - rm -fr ioemu xenstore xenstorepvh + rm -fr xenstore xenstorepvh rm -fr gmp-$(XEN_TARGET_ARCH) rm -fr polarssl-$(XEN_TARGET_ARCH) rm -fr tpm_emulator-$(XEN_TARGET_ARCH) diff --git a/stubdom/configure b/stubdom/configure index 08cacf764c..503516b304 100755 --- a/stubdom/configure +++ b/stubdom/configure @@ -622,7 +622,6 @@ STUBDOM_UNINSTALL STUBDOM_INSTALL STUBDOM_BUILD STUBDOM_TARGETS -ioemu vtpmmgr vtpm TPMEMU_VERSION @@ -713,14 +712,12 @@ SHELL' ac_subst_files=3D'' ac_user_opts=3D' enable_option_checking -enable_ioemu_stubdom enable_c_stubdom enable_pv_grub enable_xenstore_stubdom enable_xenstorepvh_stubdom enable_vtpm_stubdom enable_vtpmmgr_stubdom -enable_qemu_traditional enable_debug enable_extfiles ' @@ -1363,7 +1360,6 @@ Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE= =3Dno) --enable-FEATURE[=3DARG] include FEATURE [ARG=3Dyes] - --enable-ioemu-stubdom Build and install ioemu-stubdom --enable-c-stubdom Build and install c-stubdom (default is DISABLED) --enable-pv-grub Build and install pv-grub (default is DISABLED) --disable-xenstore-stubdom @@ -2411,40 +2407,6 @@ case $host_os in *\ *) host_os=3D`echo "$host_os" | = sed 's/ /-/g'`;; esac =20 # Enable/disable stub domains =20 -# Check whether --enable-ioemu-stubdom was given. -if test ${enable_ioemu_stubdom+y} -then : - enableval=3D$enable_ioemu_stubdom; - -if test "x$enableval" =3D "xyes" -then : - - -ioemu=3Dy -STUBDOM_TARGETS=3D"$STUBDOM_TARGETS ioemu" -STUBDOM_BUILD=3D"$STUBDOM_BUILD ioemu-stubdom" -STUBDOM_INSTALL=3D"$STUBDOM_INSTALL install-ioemu" -STUBDOM_UNINSTALL=3D"$STUBDOM_UNINSTALL install-ioemu" - - -else $as_nop - -if test "x$enableval" =3D "xno" -then : - - -ioemu=3Dn - - -fi - -fi - - -fi - - - # Check whether --enable-c-stubdom was given. if test ${enable_c_stubdom+y} then : @@ -2685,36 +2647,6 @@ fi =20 =20 =20 -# Check whether --enable-qemu-traditional was given. -if test ${enable_qemu_traditional+y} -then : - enableval=3D$enable_qemu_traditional; -fi - -if test "x$enable_qemu_traditional" =3D "xyes" -then : - - qemu_traditional=3Dy -else $as_nop - - qemu_traditional=3Dn - -fi -if test "x$ioemu" =3D "x" -then : - - ioemu=3D$qemu_traditional - -fi -echo "x$ioemu$qemu_traditional" -if test "x$ioemu$qemu_traditional" =3D "xyn" -then : - - as_fn_error $? "IOEMU stubdomain requires qemu-traditional" "$LINENO" 5 - -fi - - # Check whether --enable-debug was given. if test ${enable_debug+y} then : @@ -4358,28 +4290,6 @@ fi =20 =20 =20 -if test "x$ioemu" =3D "xy" || test "x$ioemu" =3D "x" -then : - - -ioemu=3Dy -STUBDOM_TARGETS=3D"$STUBDOM_TARGETS ioemu" -STUBDOM_BUILD=3D"$STUBDOM_BUILD ioemu-stubdom" -STUBDOM_INSTALL=3D"$STUBDOM_INSTALL install-ioemu" -STUBDOM_UNINSTALL=3D"$STUBDOM_UNINSTALL install-ioemu" - - -else $as_nop - - -ioemu=3Dn - - -fi - - - - =20 =20 =20 diff --git a/stubdom/configure.ac b/stubdom/configure.ac index fc736c0387..f07b08c5b3 100644 --- a/stubdom/configure.ac +++ b/stubdom/configure.ac @@ -18,7 +18,6 @@ m4_include([../m4/depends.m4]) m4_include([../m4/fetcher.m4]) =20 # Enable/disable stub domains -AX_STUBDOM_CONDITIONAL([ioemu-stubdom], [ioemu]) AX_STUBDOM_DEFAULT_DISABLE([c-stubdom], [c]) AX_STUBDOM_DEFAULT_DISABLE([pv-grub], [grub]) AX_STUBDOM_DEFAULT_ENABLE([xenstore-stubdom], [xenstore]) @@ -26,19 +25,6 @@ AX_STUBDOM_DEFAULT_ENABLE([xenstorepvh-stubdom], [xensto= repvh]) AX_STUBDOM_CONDITIONAL([vtpm-stubdom], [vtpm]) AX_STUBDOM_CONDITIONAL([vtpmmgr-stubdom], [vtpmmgr]) =20 -AC_ARG_ENABLE([qemu-traditional]) -AS_IF([test "x$enable_qemu_traditional" =3D "xyes"], [ - qemu_traditional=3Dy],[ - qemu_traditional=3Dn -]) -AS_IF([test "x$ioemu" =3D "x"], [ - ioemu=3D$qemu_traditional -]) -echo "x$ioemu$qemu_traditional" -AS_IF([test "x$ioemu$qemu_traditional" =3D "xyn"], [ - AC_MSG_ERROR(IOEMU stubdomain requires qemu-traditional) -]) - AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of stubdom]) AX_ARG_DEFAULT_ENABLE([extfiles], [Use xen extfiles repository for librari= es]) =20 @@ -69,7 +55,6 @@ AX_STUBDOM_AUTO_DEPENDS([vtpmmgr], [vtpm]) #Conditionally enable these stubdoms based on the presense of dependencies AX_STUBDOM_CONDITIONAL_FINISH([vtpm-stubdom], [vtpm]) AX_STUBDOM_CONDITIONAL_FINISH([vtpmmgr-stubdom], [vtpmmgr]) -AX_STUBDOM_CONDITIONAL_FINISH([ioemu-stubdom], [ioemu]) =20 AX_STUBDOM_FINISH AC_OUTPUT() diff --git a/stubdom/ioemu-minios.cfg b/stubdom/ioemu-minios.cfg deleted file mode 100644 index 6153ae05f8..0000000000 --- a/stubdom/ioemu-minios.cfg +++ /dev/null @@ -1,6 +0,0 @@ -CONFIG_LIBC=3Dy -CONFIG_LWIP=3Dy -CONFIG_START_NETWORK=3Dn -CONFIG_QEMU_XS_ARGS=3Dy -CONFIG_PCIFRONT=3Dy -XEN_INTERFACE_VERSION=3D__XEN_LATEST_INTERFACE_VERSION__ diff --git a/tools/Makefile b/tools/Makefile index e9e1cda305..6ecf7c0da8 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -24,7 +24,6 @@ SUBDIRS-$(CONFIG_Linux) +=3D vchan =20 # do not recurse in to a dir we are about to delete ifneq "$(MAKECMDGOALS)" "distclean" -SUBDIRS-$(CONFIG_QEMU_TRAD) +=3D qemu-xen-traditional-dir SUBDIRS-$(CONFIG_QEMU_XEN) +=3D qemu-xen-dir endif =20 @@ -79,7 +78,6 @@ clean: subdirs-clean =20 .PHONY: distclean distclean: subdirs-distclean clean - rm -rf qemu-xen-traditional-dir qemu-xen-traditional-dir-remote rm -rf qemu-xen-dir qemu-xen-dir-remote qemu-xen-build rm -rf ../config/Tools.mk config.h config.log config.status \ config.cache autom4te.cache @@ -97,11 +95,6 @@ QEMU_UPSTREAM_RPATH :=3D -Wl,-rpath,$(LIBEXEC_LIB) IOEMU_EXTRA_LDFLAGS :=3D endif =20 -QEMU_ROOT :=3D $(shell if [ -d "$(QEMU_TRADITIONAL_LOC)" ]; then echo "$(Q= EMU_TRADITIONAL_LOC)"; else echo .; fi) -ifneq ($(QEMU_ROOT),.) -export QEMU_ROOT -endif - # Targets for external trees: # ${target}-dir-find # See if the directory exists and check it out if not. @@ -136,54 +129,6 @@ endif # ${TARGET}_LOC # The ultimate location of the source (either a local dir or remote UR= L) =20 -# External target: qemu-xen-traditional -qemu-xen-traditional-dir-find: - set -ex; \ - if test -d $(QEMU_TRADITIONAL_LOC); then \ - mkdir -p qemu-xen-traditional-dir; \ - else \ - export GIT=3D$(GIT); \ - $(XEN_ROOT)/scripts/git-checkout.sh $(QEMU_TRADITIONAL_LOC) $(QEMU_TRADI= TIONAL_REVISION) qemu-xen-traditional-dir; \ - fi - -.PHONY: qemu-xen-traditional-dir-force-update -qemu-xen-traditional-dir-force-update: qemu-xen-traditional-dir-find - set -ex; \ - if [ "$(QEMU_TRADITIONAL_REVISION)" ]; then \ - cd qemu-xen-traditional-dir-remote; \ - $(GIT) fetch origin; \ - $(GIT) reset --hard $(QEMU_TRADITIONAL_REVISION); \ - fi - -qemu-traditional-recurse =3D \ - set -e; \ - $(buildmakevars2shellvars); \ - export CONFIG_BLKTAP1=3Dn; \ - export BUILDING_QEMU_TRAD=3Dy; \ - cd qemu-xen-traditional-dir; \ - $(1) - -subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find - $(call qemu-traditional-recurse,\ - $(QEMU_ROOT)/xen-setup \ - --extra-cflags=3D"-D__XEN_TOOLS__ $(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \ - $(IOEMU_EXTRA_LDFLAGS) \ - --cpu=3D$(IOEMU_CPU_ARCH) \ - $(IOEMU_CONFIGURE_CROSS); \ - $(MAKE) all \ - ) - -subdir-install-qemu-xen-traditional-dir: subdir-all-qemu-xen-traditional-d= ir - $(call qemu-traditional-recurse,$(MAKE) install) - -subdir-clean-qemu-xen-traditional-dir: - set -e; if test -d qemu-xen-traditional-dir/.; then \ - $(MAKE) -C qemu-xen-traditional-dir clean; \ - fi -subdir-uninstall-qemu-xen-traditional-dir: - rm -f $(D)$(bindir)/qemu-nbd* - rm -f $(D)$(bindir)/qemu-img* - # External target: qemu-xen qemu-xen-dir-find: if test -d $(QEMU_UPSTREAM_LOC) ; then \ @@ -276,9 +221,6 @@ subtree-force-update: ifeq ($(CONFIG_QEMU_XEN),y) $(MAKE) qemu-xen-dir-force-update endif -ifeq ($(CONFIG_QEMU_TRAD),y) - $(MAKE) qemu-xen-traditional-dir-force-update -endif ifeq ($(CONFIG_X86),y) $(MAKE) -C firmware subtree-force-update endif diff --git a/tools/Rules.mk b/tools/Rules.mk index 6bd636709f..725c3c32e9 100644 --- a/tools/Rules.mk +++ b/tools/Rules.mk @@ -134,12 +134,9 @@ endif =20 CFLAGS_libxenlight +=3D $(CFLAGS_libxenctrl) =20 -# Don't add -Werror if we are used by qemu-trad build system. -ifndef BUILDING_QEMU_TRAD ifeq ($(CONFIG_WERROR),y) CFLAGS +=3D -Werror endif -endif =20 ifeq ($(debug),y) # Use -Og if available, -O0 otherwise diff --git a/tools/config.h.in b/tools/config.h.in index 0bab3cb136..fe2a94cfc4 100644 --- a/tools/config.h.in +++ b/tools/config.h.in @@ -42,9 +42,6 @@ /* pygrub enabled */ #undef HAVE_PYGRUB =20 -/* Qemu traditional enabled */ -#undef HAVE_QEMU_TRADITIONAL - /* ROMBIOS enabled */ #undef HAVE_ROMBIOS =20 diff --git a/tools/configure b/tools/configure index e1f6ea6bf5..dbf6c72f86 100755 --- a/tools/configure +++ b/tools/configure @@ -726,7 +726,6 @@ BCC LD86 AS86 ipxe -qemu_traditional LINUX_BACKEND_MODULES pygrub golang @@ -835,7 +834,6 @@ enable_seabios enable_golang enable_pygrub with_linux_backend_modules -enable_qemu_traditional enable_ipxe with_system_ipxe enable_rombios @@ -1518,13 +1516,10 @@ Optional Features: --disable-seabios Disable SeaBIOS (default is ENABLED) --disable-golang Disable Go tools (default is ENABLED) --disable-pygrub Disable pygrub (default is ENABLED) - --enable-qemu-traditional - Enable qemu traditional device model, (DEFAULT is - off) --enable-ipxe Enable in-tree IPXE, (DEFAULT is off, see also --with-system-ipxe) - --enable-rombios Enable ROMBIOS, (DEFAULT is on if qemu-tradition= al - or ipxe is enabled, otherwise off) + --enable-rombios Enable ROMBIOS, (DEFAULT is on if ipxe is enable= d, + otherwise off) --enable-libfsimage Enable libfsimage, (DEFAULT is on if pygrub is enabled, otherwise off) --enable-systemd Enable systemd support (default is DISABLED) @@ -4838,45 +4833,16 @@ fi LINUX_BACKEND_MODULES=3D"`eval echo $LINUX_BACKEND_MODULES`" =20 =20 -# Check whether --enable-qemu-traditional was given. -if test ${enable_qemu_traditional+y} -then : - enableval=3D$enable_qemu_traditional; -fi - -if test "x$enable_qemu_traditional" =3D "xyes" -then : - - -printf "%s\n" "#define HAVE_QEMU_TRADITIONAL 1" >>confdefs.h - - qemu_traditional=3Dy -else $as_nop - - qemu_traditional=3Dn - -fi - - # Check whether --enable-ipxe was given. if test ${enable_ipxe+y} then : enableval=3D$enable_ipxe; -else $as_nop - - if test "x$enable_qemu_traditional" =3D "xyes" -then : - - enable_ipxe=3D"yes" - else $as_nop =20 enable_ipxe=3D"no" =20 fi =20 -fi - if test "x$enable_ipxe" =3D "xno" then : ipxe=3Dn @@ -4912,7 +4878,7 @@ then : enableval=3D$enable_rombios; else $as_nop =20 - if test "x$enable_qemu_traditional" =3D "xyes" -o "x$enable_ipxe" =3D = "xyes" + if test "x$enable_ipxe" =3D "xyes" then : =20 enable_rombios=3D"yes" diff --git a/tools/configure.ac b/tools/configure.ac index 0dd6d747ab..dada1c3b15 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -121,25 +121,11 @@ esac]) LINUX_BACKEND_MODULES=3D"`eval echo $LINUX_BACKEND_MODULES`" AC_SUBST(LINUX_BACKEND_MODULES) =20 -AC_ARG_ENABLE([qemu-traditional], - AS_HELP_STRING([--enable-qemu-traditional], - [Enable qemu traditional device model, (DEFAULT is off)= ])) -AS_IF([test "x$enable_qemu_traditional" =3D "xyes"], [ -AC_DEFINE([HAVE_QEMU_TRADITIONAL], [1], [Qemu traditional enabled]) - qemu_traditional=3Dy],[ - qemu_traditional=3Dn -]) -AC_SUBST(qemu_traditional) - AC_ARG_ENABLE([ipxe], AS_HELP_STRING([--enable-ipxe], [Enable in-tree IPXE, (DEFAULT is off, see also --with-system-ipxe)]),,[ - AS_IF([test "x$enable_qemu_traditional" =3D "xyes"], [ - enable_ipxe=3D"yes" - ], [ enable_ipxe=3D"no" - ]) ]) AS_IF([test "x$enable_ipxe" =3D "xno"], [ipxe=3Dn], [ipxe=3Dy]) AC_ARG_WITH([system-ipxe], @@ -162,18 +148,15 @@ AC_SUBST(ipxe) =20 AC_ARG_ENABLE([rombios], AS_HELP_STRING([--enable-rombios], - [Enable ROMBIOS, (DEFAULT is on if qemu-traditional or = ipxe is enabled, + [Enable ROMBIOS, (DEFAULT is on if ipxe is enabled, otherwise off)]),,[ - AS_IF([test "x$enable_qemu_traditional" =3D "xyes" -o "x$enable_ipxe" = =3D "xyes"], [ + AS_IF([test "x$enable_ipxe" =3D "xyes"], [ enable_rombios=3D"yes" ], [ enable_rombios=3D"no" ]) ]) AS_IF([test "x$enable_rombios" =3D "xyes"], [ - dnl as86, ld86, and bcc are only required when building rombios. They - dnl are only needed when the host system is x86 but that check is done - dnl for us above when checking if we should build with qemu-traditiona= l. AX_PATH_PROG_OR_FAIL([AS86], [as86]) AX_PATH_PROG_OR_FAIL([LD86], [ld86]) AX_PATH_PROG_OR_FAIL([BCC], [bcc]) --=20 2.43.0 From nobody Fri Oct 31 23:30:12 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1743005132; cv=none; d=zohomail.com; s=zohoarc; b=eLm3HXQVHAs5nM8O7nU9rMDmLLFhVcA/mf1u1b93jGBR/R96pKKrCX412geIRPp/PHtPl+FGw9YJiND5fKRwSdfPvrqJGvReNOBDR9KfUppNte8ZB3mgFqMUGSsBnysobOnbZ6AovKYTv8Jucfe2cmawHkp4/4ci6lCmW92nDLk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743005132; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=EAHvy3F2eUaT2duqNqIKRTDIIwRGgy4VzLxx0NXdzNY=; b=anuumFKOMmW6Rcyy2xxYwhdWKUzBOHWyYzQlzNqkrKO05Bl61QCi43VcsNw3jJFkPwROZxqdramOnFCfTj3HevbvUe35GLuXfSrSXClKRH13El8OpJIvA/eRMdsNeQhDBzB5paanjTZsWRrqfez5IeeKByYc271fl5UEaWGtis8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1743005132910150.18872436359266; Wed, 26 Mar 2025 09:05:32 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.928065.1330858 (Exim 4.92) (envelope-from ) id 1txTFl-00036X-3t; Wed, 26 Mar 2025 16:05:17 +0000 Received: by outflank-mailman (output) from mailman id 928065.1330858; Wed, 26 Mar 2025 16:05:17 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1txTFk-00036L-W2; Wed, 26 Mar 2025 16:05:16 +0000 Received: by outflank-mailman (input) for mailman id 928065; Wed, 26 Mar 2025 16:05:15 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1txTFj-0001z3-RK for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:05:15 +0000 Received: from smtp-out2.suse.de (smtp-out2.suse.de [2a07:de40:b251:101:10:150:64:2]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 1a183626-0a5c-11f0-9ffa-bf95429c2676; Wed, 26 Mar 2025 17:05:14 +0100 (CET) Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id AAA4C1F445; Wed, 26 Mar 2025 16:05:13 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 86C521374A; Wed, 26 Mar 2025 16:05:13 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id PoFnH7kl5GclaQAAD6G6ig (envelope-from ); Wed, 26 Mar 2025 16:05:13 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 1a183626-0a5c-11f0-9ffa-bf95429c2676 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1743005113; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EAHvy3F2eUaT2duqNqIKRTDIIwRGgy4VzLxx0NXdzNY=; b=cKb6LuIIUmlvDjXtiOcCobdrQYwOJ0F9W06FK3Nu9OkFmmEAJ0ehCyOz6QJmRIrkXVeuCu ir4Ce9KhjzNjGlpuFkpGVDrHq21KeYlTOwkn45Qrom+QIpV7id8m3Uk7D5aOCe1wu7zr7G V1l9lEMXebGSkAzXuky/SLj0XC1MGQE= Authentication-Results: smtp-out2.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1743005113; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EAHvy3F2eUaT2duqNqIKRTDIIwRGgy4VzLxx0NXdzNY=; b=cKb6LuIIUmlvDjXtiOcCobdrQYwOJ0F9W06FK3Nu9OkFmmEAJ0ehCyOz6QJmRIrkXVeuCu ir4Ce9KhjzNjGlpuFkpGVDrHq21KeYlTOwkn45Qrom+QIpV7id8m3Uk7D5aOCe1wu7zr7G V1l9lEMXebGSkAzXuky/SLj0XC1MGQE= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Samuel Thibault Subject: [PATCH 5/6] stubdom: remove ancient stubdom-dm script Date: Wed, 26 Mar 2025 17:04:39 +0100 Message-ID: <20250326160442.19706-6-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250326160442.19706-1-jgross@suse.com> References: <20250326160442.19706-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Level: X-Spamd-Result: default: False [-2.80 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid]; RCVD_TLS_ALL(0.00)[] X-Spam-Score: -2.80 X-Spam-Flag: NO X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1743005133528019000 Content-Type: text/plain; charset="utf-8" The stubdom-dm script is still using "xm" instead of "xl", so it is probably unused since more than 10 years now. Signed-off-by: Juergen Gross --- stubdom/stubdom-dm | 182 --------------------------------------------- 1 file changed, 182 deletions(-) delete mode 100644 stubdom/stubdom-dm diff --git a/stubdom/stubdom-dm b/stubdom/stubdom-dm deleted file mode 100644 index 05d07ac0d1..0000000000 --- a/stubdom/stubdom-dm +++ /dev/null @@ -1,182 +0,0 @@ -#!/bin/bash -# -# Copyright 2007-2008 Samuel Thibault -# -# dm script around stubdomains. -# - -DIR=3D`dirname $0` -. "${DIR}/stubdompath.sh" -stubdom_configdir=3D"${XEN_CONFIG_DIR}/stubdoms" - -# To fit xterms nicely -height=3D339 - -# Parse arguments - -domid=3D -domname=3D -vncviewer=3D0 -vncpid=3D -extra=3D -sdl=3D0 -opengl=3D1 -vnc=3D0 -vncunused=3D0 -while [ "$#" -gt 0 ]; -do - if [ "$#" -ge 2 ]; - then - case "$1" in - -d) - domid=3D$2; - extra=3D"$extra -d $domid"; - shift - ;; - -domain-name) - domname=3D$2; - shift - ;; - -vnc) - vnc=3D1 - op=3D${2%,*} - ip=3D${op%:*}; - vnc_port=3D${op#*:}; - shift - ;; - -vncunused) - vncunused=3D1 - shift - ;; - -loadvm) - extra=3D"$extra -loadvm $2"; - shift - ;; - -k) - keymap=3D$2 - shift - ;; - -serial) - serial=3D"$2" - shift - ;; - -monitor) - monitor=3D"$2" - shift - ;; - esac - fi - case "$1" in - -vncviewer) vncviewer=3D1 ;; - -sdl) sdl=3D1 ;; - -disable-opengl) opengl=3D0 ;; - esac - shift -done - -[ -z "$domid" ] && { echo "couldn't find domain ID" ; exit 1; } -[ -z "$domname" ] && { echo "couldn't find domain name" ; exit 1; } - -# Termination handler - -term() { - [ -n "$vncpid" ] && kill -9 $vncpid - rm -f /tmp/domname-dm - rm ${stubdom_configdir}/$domname-dm - exit 0 -} - -trap term SIGHUP - -############ -# stubdomain -# Wait for any previous stubdom to terminate -while xm list | grep -w $domname-dm -do - sleep 1 -done - -# Generate stubdom config file -mkdir -p ${stubdom_configdir} &>/dev/null -echo "#This file is autogenerated, edit $domname instead!" > ${stubdom_con= figdir}/$domname-dm -echo "kernel =3D '${XENFIRMWAREDIR}/ioemu-stubdom.gz'" >> ${stubdom_config= dir}/$domname-dm - -vfb=3D"sdl=3D$sdl, opengl=3D$opengl" -test "$DISPLAY" && vfb=3D"$vfb, display=3D$DISPLAY" -test "$XAUTHORITY" && vfb=3D"$vfb, xauthority=3D$XAUTHORITY" -test $vnc !=3D 0 && vfb=3D"$vfb, vnc=3D$vnc, vncdisplay=3D$vnc_port, vncli= sten=3D$ip, vncunused=3D$vncunused" -vncpasswd=3D`xenstore-read /local/domain/0/backend/vfb/$domid/0/vncpasswd = 2>/dev/null` -test "$vncpasswd" && vfb=3D"$vfb, vncpasswd=3D$vncpasswd" -test "$keymap" && vfb=3D"$vfb, keymap=3D$keymap" -test "$monitor" && vfb=3D"$vfb, monitor=3D$monitor" -test "$serial" && vfb=3D"$vfb, serial=3D$serial" -echo "vfb =3D ['$vfb']" >> ${stubdom_configdir}/$domname-dm - -echo -n "disk =3D [ " >> ${stubdom_configdir}/$domname-dm -j=3D0 -for i in `xenstore-ls /local/domain/$domid/device/vbd | grep 'backend =3D'= | awk '{print $3}'` -do - i=3D${i%\"} - i=3D${i#\"} - vbd_mode=3D`xenstore-read $i/mode` - vbd_disk=3D`xenstore-read $i/params` - vbd_type=3D`xenstore-read $i/type` - vbd_dev=3D`xenstore-read $i/dev` - vbd_front=3D`xenstore-read $i/frontend` - vbd_devtype=3D`xenstore-read $vbd_front/device-type` - if [ $j -ne 0 ] - then - echo -n "," >> ${stubdom_configdir}/$domname-dm - fi - echo -n "'$vbd_type:$vbd_disk,$vbd_dev:$vbd_devtype,$vbd_mode'" >> ${s= tubdom_configdir}/$domname-dm - j=3D$(( $j + 1 )) -done -echo " ] " >> ${stubdom_configdir}/$domname-dm -echo -n "vif =3D [ " >> ${stubdom_configdir}/$domname-dm -j=3D0 -for i in `xenstore-ls /local/domain/$domid/device/vif | grep 'backend =3D'= | awk '{print $3}'` -do - i=3D${i%\"} - i=3D${i#\"} - vif_mac=3D`xenstore-read $i/mac` - vif_bridge=3D`xenstore-read $i/bridge` - if [ $j -ne 0 ] - then - echo -n "," >> ${stubdom_configdir}/$domname-dm - fi - echo -n "'mac=3D$vif_mac" >> ${stubdom_configdir}/$domname-dm - if [ "$vif_bridge" ] - then - echo -n ",bridge=3D$vif_bridge'" >> ${stubdom_configdir}/$domname-= dm - else - echo -n "'" >> ${stubdom_configdir}/$domname-dm - fi - j=3D$(( $j + 1 )) -done -echo " ] " >> ${stubdom_configdir}/$domname-dm - -mkfifo /tmp/$domname-dm -xm create -c ${stubdom_configdir}/$domname-dm target=3D$domid memory=3D32 = extra=3D"$extra" < /tmp/$domname-dm & -exec 4>/tmp/$domname-dm - - -########### -# vncviewer -if [ "$vncviewer" =3D 1 ] -then - # Wait for vnc server to appear - while ! vnc_port=3D`xenstore-read /local/domain/$domid/console/vnc-por= t` - do - # Check that the stubdom job is still alive - kill -0 $consolepid || term - sleep 1 - done - - vncviewer $ip:$vnc_port & - vncpid=3D$! -fi - -# wait for SIGHUP or stubdom termination -wait - -term --=20 2.43.0 From nobody Fri Oct 31 23:30:12 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1743005546; cv=none; d=zohomail.com; s=zohoarc; b=XB7vpXhODvKWL86XJKpjOx53fsVhpvyal6VeKbbGrU9s7GoFQjiJKKDsY/TUmcnRBfJygh48R7DZajLNb1gJZphwpmleDTeX6wxgG6Svx4a3zmy0oGfhf0D5AXsnp5gaGJuZpi6cmLf4fa5rsM6s2uHFJIoHDveskx13PkH9SK8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743005546; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Z9A+fu0CkA24A42L4jKEcCYh+ApxXI6+jMZ38aW5FWI=; b=Rgmm4zHaNKdmj5h7k8gosXVSQhj7RoBMYa4QVQy93Nk+XPUEYE4mViWH4EqZaNZDXpe6Jw11euD+5oqbc0VbkkstpC70tmaNBTa7VcO6dPPDIUjD2H1ipcBNoQpieERjGux6NlawSuqM0nCOWqiK29F5jbUPBswIRAX1LF1FaGg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1743005546480798.0414259144446; Wed, 26 Mar 2025 09:12:26 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.928109.1330878 (Exim 4.92) (envelope-from ) id 1txTMQ-0006vV-0r; Wed, 26 Mar 2025 16:12:10 +0000 Received: by outflank-mailman (output) from mailman id 928109.1330878; Wed, 26 Mar 2025 16:12:09 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1txTMP-0006vN-Te; Wed, 26 Mar 2025 16:12:09 +0000 Received: by outflank-mailman (input) for mailman id 928109; Wed, 26 Mar 2025 16:12:08 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1txTFp-0001z3-KL for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:05:21 +0000 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 1d74f11e-0a5c-11f0-9ffa-bf95429c2676; Wed, 26 Mar 2025 17:05:19 +0100 (CET) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 6963121175; Wed, 26 Mar 2025 16:05:19 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 15A521374A; Wed, 26 Mar 2025 16:05:19 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 62zSA78l5GcsaQAAD6G6ig (envelope-from ); Wed, 26 Mar 2025 16:05:19 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 1d74f11e-0a5c-11f0-9ffa-bf95429c2676 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1743005119; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Z9A+fu0CkA24A42L4jKEcCYh+ApxXI6+jMZ38aW5FWI=; b=YWI4DgwUPVoFj5zC265JUgQjHUdPLC3PcTzLWDPdNzU8pcPy1mEH9h2nd+A+at2wK6Ugn/ ykU6fmaiI4OXDsWGu6S2RQK4xVi9UfatlLIMWeE6HGzfCdNwMW6kujpprqghFSflf1OdQG g/VrIksYi1kdIhHQkwtI124UysAJBc4= Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.com header.s=susede1 header.b=YWI4DgwU DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1743005119; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Z9A+fu0CkA24A42L4jKEcCYh+ApxXI6+jMZ38aW5FWI=; b=YWI4DgwUPVoFj5zC265JUgQjHUdPLC3PcTzLWDPdNzU8pcPy1mEH9h2nd+A+at2wK6Ugn/ ykU6fmaiI4OXDsWGu6S2RQK4xVi9UfatlLIMWeE6HGzfCdNwMW6kujpprqghFSflf1OdQG g/VrIksYi1kdIhHQkwtI124UysAJBc4= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Andrew Cooper , Anthony PERARD , Michal Orzel , Jan Beulich , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Stefano Stabellini Subject: [PATCH 6/6] build: don't require full tools build for building stubdoms Date: Wed, 26 Mar 2025 17:04:40 +0100 Message-ID: <20250326160442.19706-7-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250326160442.19706-1-jgross@suse.com> References: <20250326160442.19706-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 6963121175 X-Spam-Level: X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[99.99%]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_CONTAINS_FROM(1.00)[]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; RCVD_COUNT_TWO(0.00)[2]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; FUZZY_BLOCKED(0.00)[rspamd.com]; RCPT_COUNT_SEVEN(0.00)[9]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns]; RCVD_TLS_ALL(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; DKIM_TRACE(0.00)[suse.com:+] X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-Rspamd-Action: no action X-Spam-Score: -3.01 X-Spam-Flag: NO X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1743005547757019100 Content-Type: text/plain; charset="utf-8" With the drop of qemu-traditional "make stubdom" no longer requires "make tools" to have finished. It is enough to add "install-tools-public-headers" as a prereq of "install-stubdom". Signed-off-by: Juergen Gross --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c9d80a6dc6..67b71ac3d4 100644 --- a/Makefile +++ b/Makefile @@ -147,7 +147,7 @@ install-tools: install-tools-public-headers $(MAKE) -C tools install =20 .PHONY: install-stubdom -install-stubdom: mini-os-dir install-tools +install-stubdom: mini-os-dir install-tools-public-headers $(MAKE) -C stubdom install ifeq (x86_64,$(XEN_TARGET_ARCH)) XEN_TARGET_ARCH=3Dx86_32 $(MAKE) -C stubdom install-grub-if-enabled --=20 2.43.0