From nobody Sun May 5 06:55:27 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1494415042681573.8344287796833; Wed, 10 May 2017 04:17:22 -0700 (PDT) Received: from localhost ([::1]:41874 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d8PcP-000566-8u for importer@patchew.org; Wed, 10 May 2017 07:17:21 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60738) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d8Par-0004JU-Sc for qemu-devel@nongnu.org; Wed, 10 May 2017 07:15:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d8Pam-0005Wu-Qk for qemu-devel@nongnu.org; Wed, 10 May 2017 07:15:45 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46712) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1d8Pam-0005WY-Hi for qemu-devel@nongnu.org; Wed, 10 May 2017 07:15:40 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 938A480C0A for ; Wed, 10 May 2017 11:15:39 +0000 (UTC) Received: from t460.redhat.com (ovpn-116-75.ams2.redhat.com [10.36.116.75]) by smtp.corp.redhat.com (Postfix) with ESMTP id AAA1417575; Wed, 10 May 2017 11:15:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 938A480C0A Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=berrange@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 938A480C0A From: "Daniel P. Berrange" To: qemu-devel@nongnu.org Date: Wed, 10 May 2017 12:15:35 +0100 Message-Id: <20170510111535.11190-1-berrange@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Wed, 10 May 2017 11:15:39 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH RFC] docs: document support lifetime and deprecation policy X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The deprecation of features in QEMU is totally adhoc currently, with no way for the user to get a list of what is deprecated in each release. There is also no guidance on the duration of support for features such as versioned machine types, which have a finite useful life. This adds two new appendix entries to the main QEMU documentation. The first appendix lists items which have finite lifecycles, and sets out the policy that is used for deprecating & removing features which have indefinite lifecycles. The second appendix provides a list of all[1] currently deprecated features, along with the release they were deprecated in. Signed-off-by: Daniel P. Berrange [1] This is a lie. I've only listed one deprecated feature. Once we agree on the general concept, we can fill out the doc with the rest of the currently deprecated features. --- qemu-doc.texi | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/qemu-doc.texi b/qemu-doc.texi index 794ab4a..899808b 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -36,6 +36,8 @@ * QEMU System emulator for non PC targets:: * QEMU User space emulator:: * Implementation notes:: +* Support lifetime:: +* Deprecations:: * License:: * Index:: @end menu @@ -2996,6 +2998,51 @@ Run the emulation in single step mode. =20 @include qemu-tech.texi =20 +@node Support lifetime +@appendix Support lifetime + +Features provided by QEMU are subject to varying support lifetimes. + +In general features are intended to be supported indefinitely once +introduced. In the event that a feature needs to be removed, there +will be some period in which it will be marked as deprecated before +eventual removal. All deprecated features will be listed in the +``Deprecations'' appendix of this document. They may also generate +a warning if used when QEMU starts up/ + +Certain features will have an inherently finite lifetime, and thus +will be removed on a fixed schedule. + +@node Machine types +@section Machine types + +For architectures which aim to support live migration compatibility +across releases, each release will introduce a new versioned machine +type. For example, the 2.8.0 release introduced machine types +``pc-i440fx-2.8'' and ``pc-q35-2.8' 'for the x86_64/i686 architectures. + +To allow live migration of a guest running on a 2.8.0 release to a +2.9.0, the QEMU 2.9.0 version must support the ``pc-i440fx-2.8'' and +``pc-q35-2.8''. To allow users live migrating VMs to skip multiple +intermediate releases when upgrading, new releases of QEMU will +support machine types from many previous versions. + +The supported lifetime for machine types is 12 releases, which is +equivalent to 4 years worth of previous QEMU releases. + +@node Deprecations +@appendix Deprecations + +The following is a list of features which have been marked as deprecated, +pending removal in a future list: + +@section -drive boot=3Don|off (since v1.3.0) +Since release 1.3.0, the ``boot=3Don|off'' parameter to ``-drive'' +is no longer honoured. It is currently ignored, but a future verson +will reject this parameter with an error. Applications should use +the ``bootindex=3DN'' parameter to set an absolute ordering between +devices instead. + @node License @appendix License =20 --=20 2.9.3