From nobody Tue Aug 25 14:41:16 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1783346547; cv=none; d=zohomail.com; s=zohoarc; b=lGf+VacGfS7TTtRx2GOdFHJr9eoqQw/biM6Dihjed/0fBMa91LEPcB4lNcps7OIwZfykCgzyZMP0DAiO0ZZQw+au535XSUNBzHfgo80mpYxs6RPPmlnT0ZC0VYyFgwRzL2/U7Bu3s/tpX7YM5PT1CAwIWnNL+OxHrPi0mc/5FT4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783346547; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=vnvy6pEzikCVx6j0c1PWdDswTHlFm8rQhWGo5hLUrOg=; b=PnH0SSRVmyuzh2aQr5j2rOmhJ13zSkj/3TlA7pJ78Dj0vaMZ7AzAtu+xq2D3GwcVPM+dfOzkytOMRQnvvFd/vpNwDiGAb6oCkobyYtrm7ThJbmL3VekIuKADLaEp9Kk4ODU98pZXNfZ5shfg76awe+wiNNkAgGx8GzpORQeZOwg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783346547690737.2695517866373; Mon, 6 Jul 2026 07:02:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wgjsY-0006vh-QN; Mon, 06 Jul 2026 10:00:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wgjsW-0006Zr-2F for qemu-devel@nongnu.org; Mon, 06 Jul 2026 10:00:56 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wgjsU-0002M9-43 for qemu-devel@nongnu.org; Mon, 06 Jul 2026 10:00:55 -0400 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-465-NEwMpiPYP7eaqs81ksKsYQ-1; Mon, 06 Jul 2026 10:00:49 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id C190218009CA; Mon, 6 Jul 2026 14:00:47 +0000 (UTC) Received: from berrange.com (unknown [10.44.48.165]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 76BBD3000B4E; Mon, 6 Jul 2026 14:00:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1783346453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vnvy6pEzikCVx6j0c1PWdDswTHlFm8rQhWGo5hLUrOg=; b=dDuHFTE0VvyMonxo+WANJaUbc4lEmBmYgfgGB8b/60ILrxbtGXJFZsUKZjnkdCFcunXkig 1fbhANSTs/b7NWlPQjq1sBDtF/LrZadgvMdntZGtrSWW8mn2TUEWcUBEQMzrKDnP+q2smu /ZD88JydEm49Vb10YJbZ6EQXpYYe3fw= X-MC-Unique: NEwMpiPYP7eaqs81ksKsYQ-1 X-Mimecast-MFC-AGG-ID: NEwMpiPYP7eaqs81ksKsYQ_1783346447 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: Christian Brauner , devel@lists.libvirt.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Paolo Bonzini , Peter Krempa , Markus Armbruster , "Dr. David Alan Gilbert" , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH v7 35/35] docs: mark '-mon' as deprecated in favour of -object Date: Mon, 6 Jul 2026 14:58:23 +0100 Message-ID: <20260706135824.2623960-36-berrange@redhat.com> In-Reply-To: <20260706135824.2623960-1-berrange@redhat.com> References: <20260706135824.2623960-1-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1783346549278158500 The high level `-qmp` and `-monitor` options can remain as convenience wrappers, but the low level `-mon` is completed obsoleted by the new `-object` support with 'monitor-qmp' and 'monitor-hmp' types. Reviewed-by: Marc-Andr=C3=A9 Lureau Tested-by: Peter Krempa Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: Markus Armbruster --- docs/about/deprecated.rst | 10 ++++++++++ docs/devel/writing-monitor-commands.rst | 4 ++-- docs/system/arm/xenpvh.rst | 4 ++-- docs/system/i386/xen.rst | 3 ++- docs/system/i386/xenpvh.rst | 4 ++-- qemu-options.hx | 16 ++++++++-------- system/vl.c | 2 ++ 7 files changed, 28 insertions(+), 15 deletions(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 169c5dfe4f..023612748b 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -61,6 +61,16 @@ The ``debug-threads`` option of the ``-name`` argument i= s now ignored. Thread naming is unconditionally enabled for all platforms where it is supported. =20 +``-mon`` option (since 11.1) +'''''''''''''''''''''''''''' + +The ``-mon`` option was the generic mechanism for creating monitor +objects if the convenience ``-qmp`` or ``-monitor`` options were not +flexible enough. The monitor objects have been converted to QOM, so +``-mon mode=3Dreadline`` is replaced by ``-object monitor-hmp`` and +``-mon mode=3Dcontrol`` is replaced by ``-object monitor-qmp``. The +short convenience options are not deprecated, only ``-mon``. + QEMU Machine Protocol (QMP) commands ------------------------------------ =20 diff --git a/docs/devel/writing-monitor-commands.rst b/docs/devel/writing-m= onitor-commands.rst index 930da5cd06..7ae7efe327 100644 --- a/docs/devel/writing-monitor-commands.rst +++ b/docs/devel/writing-monitor-commands.rst @@ -52,8 +52,8 @@ shown here. First, QEMU should be started like this:: =20 # qemu-system-TARGET [...] \ - -chardev socket,id=3Dqmp,port=3D4444,host=3Dlocalhost,server=3Don \ - -mon chardev=3Dqmp,mode=3Dcontrol,pretty=3Don + -chardev socket,id=3Dchrqmp0,port=3D4444,host=3Dlocalhost,server=3Don= \ + -object monitor-qmp,chardev=3Dchrqmp0,pretty=3Don,id=3Dqmp0 =20 Then, in a different terminal:: =20 diff --git a/docs/system/arm/xenpvh.rst b/docs/system/arm/xenpvh.rst index 430ac2c02e..511af63e3d 100644 --- a/docs/system/arm/xenpvh.rst +++ b/docs/system/arm/xenpvh.rst @@ -27,9 +27,9 @@ Sample QEMU xenpvh commands for running and connecting wi= th Xen: =20 qemu-system-aarch64 -xen-domid 1 \ -chardev socket,id=3Dlibxl-cmd,path=3Dqmp-libxl-1,server=3Don,wait= =3Doff \ - -mon chardev=3Dlibxl-cmd,mode=3Dcontrol \ + -object monitor-qmp,id=3Dqmp0,chardev=3Dlibxl-cmd \ -chardev socket,id=3Dlibxenstat-cmd,path=3Dqmp-libxenstat-1,server= =3Don,wait=3Doff \ - -mon chardev=3Dlibxenstat-cmd,mode=3Dcontrol \ + -object monitor-qmp,id=3Dqmp1,chardev=3Dlibxenstat-cmd \ -xen-attach -name guest0 -vnc none -display none -nographic \ -machine xenpvh -m 1301 \ -chardev socket,id=3Dchrtpm,path=3Dtmp/vtpm2/swtpm-sock \ diff --git a/docs/system/i386/xen.rst b/docs/system/i386/xen.rst index 46db5f34c1..6ff5cdb1e4 100644 --- a/docs/system/i386/xen.rst +++ b/docs/system/i386/xen.rst @@ -79,7 +79,8 @@ of type ``xen-console`` to connect to it. For the Xen con= sole equivalent of the handy ``-serial mon:stdio`` option, for example: =20 .. parsed-literal:: - -chardev stdio,mux=3Don,id=3Dchar0,signal=3Doff -mon char0 \\ + -chardev stdio,mux=3Don,id=3Dchar0,signal=3Doff \\ + -object monitor-hmp,chardev=3Dchar0,id=3Dhmp0 \\ -device xen-console,chardev=3Dchar0 =20 The Xen network device is ``xen-net-device``, which becomes the default NIC diff --git a/docs/system/i386/xenpvh.rst b/docs/system/i386/xenpvh.rst index 354250f073..904778e3f5 100644 --- a/docs/system/i386/xenpvh.rst +++ b/docs/system/i386/xenpvh.rst @@ -33,9 +33,9 @@ case you need to construct one manually: =20 qemu-system-i386 -xen-domid 3 -no-shutdown \ -chardev socket,id=3Dlibxl-cmd,path=3D/var/run/xen/qmp-libxl-3,serve= r=3Don,wait=3Doff \ - -mon chardev=3Dlibxl-cmd,mode=3Dcontrol \ + -object monitor-qmp,id=3Dqmp0,chardev=3Dlibxl-cmd \ -chardev socket,id=3Dlibxenstat-cmd,path=3D/var/run/xen/qmp-libxenst= at-3,server=3Don,wait=3Doff \ - -mon chardev=3Dlibxenstat-cmd,mode=3Dcontrol \ + -object monitor-qmp,id=3Dqmp1,chardev=3Dlibxenstat-cmd \ -nodefaults \ -no-user-config \ -xen-attach -name g0 \ diff --git a/qemu-options.hx b/qemu-options.hx index fe76c18c81..acf68f8961 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -4154,7 +4154,7 @@ The general form of a character device option is: :: =20 -chardev stdio,mux=3Don,id=3Dchar0 \ - -mon chardev=3Dchar0,mode=3Dreadline \ + -object monitor-hmp,id=3Dhmp0,chardev=3Dchar0 \ -serial chardev:char0 \ -serial chardev:char0 =20 @@ -4166,7 +4166,7 @@ The general form of a character device option is: :: =20 -chardev stdio,mux=3Don,id=3Dchar0 \ - -mon chardev=3Dchar0,mode=3Dreadline \ + -object monitor-hmp,id=3Dhmp0,chardev=3Dchar0 \ -parallel chardev:char0 \ -chardev tcp,...,mux=3Don,id=3Dchar1 \ -serial chardev:char1 \ @@ -5004,12 +5004,13 @@ SRST =20 enables the QMP monitor on localhost port 4444 with pretty-printing. =20 - The use of ``-mon mode=3Dreadline`` is syntactic sugar + The use of ``-mon mode=3Dreadline`` is deprecated syntactic sugar + The use of ``-mon mode=3Dreadline`` is deprecated syntax sugar for the new ``-object monitor-hmp`` option, each use of which creates an object with the ID ``compat_monitorNNN`` where ``NNN`` is a counter starting from 0. =20 - The use of ``-mon mode=3Dcontrol`` is syntactic sugar + The use of ``-mon mode=3Dcontrol`` is deprecated syntactic sugar for the new ``-object monitor-qmp`` option, each use of which creates an object with the ID ``compat_monitorNNN`` where ``NNN`` is a counter starting from 0. @@ -5771,8 +5772,7 @@ SRST to dynamically delete the monitor at runtime. Note that monitors created using the historical syntax will be allocated IDs following the pattern ``compat_monmitorNNN``. - Mixing ``-object`` with ``-monitor`` and ``-mon`` syntax is - discouraged. + Mixing ``-object`` with ``-monitor`` syntax is discouraged. =20 The ``readline`` parameter, which defaults to ``on``, controls whether the monitor provides line editing. @@ -5785,8 +5785,8 @@ SRST to dynamically delete the monitor at runtime. Note that monitors created using the historical syntax will be allocated IDs following the pattern ``compat_monitorNNN``. - Mixing ``-object`` with ``-qmp``, ``-qmp-pretty`` and - ``-mon`` syntax is discouraged. + Mixing ``-object`` with ``-qmp`` and ``-qmp-pretty`` + syntax is discouraged. =20 The ``pretty`` parameter, which defaults to ``off``, controls whether the monitor responses are pretty diff --git a/system/vl.c b/system/vl.c index 63bdd06dfa..061cbdf860 100644 --- a/system/vl.c +++ b/system/vl.c @@ -3239,6 +3239,8 @@ void qemu_init(int argc, char **argv) default_monitor =3D 0; break; case QEMU_OPTION_mon: + warn_report_once("'-mon' is deprecated, use '-object' with= " + "'monitor-hmp' or 'monitor-qmp' types ins= tead"); if (!qemu_opts_parse_noisily(qemu_find_opts("mon"), optarg, true)) { exit(1); --=20 2.55.0