From nobody Sat May 30 18:34:46 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=none dis=none) header.from=treblig.org ARC-Seal: i=1; a=rsa-sha256; t=1777917056; cv=none; d=zohomail.com; s=zohoarc; b=iQR60k1u4Q9+qTll2fthUEOOfuTd9oRudm5gipIumpWShiTruIMSqSBQP2ca2fr+d0wMdrvnquRqU/6NLKMWjp9sDQJR/fAN5e8d6iAB4RoXlbleVnTozZ7W/GFa7XboiqhjYLfUDhzvYn3x2dMFg36makxyhfE0UvlAAAaeH6M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777917056; 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=k5jjrJB48T95317K0NlZG9nP6CIAQ+99l2qSbxah+dI=; b=R5VAO72hrsu7WkS116BUqQLyNfrxZNyVCy8nJ3m9QxPsz4K4EdLzSEkpplJIIrsFuf5zztiRfkYfmUg4xtchNSjkVflbofF2HfHafXiOtFqPwNc58GQrImaKFIC0ogSO5dWYP6ENM6k6TT6jCnAgON93VpqIVCvAD8DB+TveZmc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777917056546542.9254436150477; Mon, 4 May 2026 10:50:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJxQV-0004eR-UT; Mon, 04 May 2026 13:49:51 -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 1wJxQR-0004db-LZ for qemu-devel@nongnu.org; Mon, 04 May 2026 13:49:47 -0400 Received: from mx.treblig.org ([2a00:1098:5b::1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJxQK-0000cA-Cb for qemu-devel@nongnu.org; Mon, 04 May 2026 13:49:42 -0400 Received: from localhost ([127.0.0.1] helo=dalek) by mx.treblig.org with esmtp (Exim 4.98.2) (envelope-from ) id 1wJxQ7-00000000ZQZ-3rUm; Mon, 04 May 2026 17:49:27 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=treblig.org ; s=bytemarkmx; h=Content-Type:MIME-Version:Message-ID:Date:Subject:From:From :Subject; bh=k5jjrJB48T95317K0NlZG9nP6CIAQ+99l2qSbxah+dI=; b=QkxuULyDCiFYyTK6 jyk+EPqOuj8aFOjop7Vy8OulR7DYHBgsGXoRRz3GnW4kOeXYtlc1tCEfNiMaqWn3MVpKVvPpMhyTZ LFzImQ/veQOScQLPWxxv8Zfdmiga2BzZrEpAn/jo+VR+5MoGFMLKejfy43QDnhqRlWFR7gWSrW4LD TWny52tYPwdLjUPZlti0RVLajrpLEsSi1absFFN64fBKI/NDuZXIrVs+tuSW/uvYz7O+ka3qPNKAH LXcdCpIQLVyv+pZXmY01e/+1XQbkgUXr4Tq6sVYh45FKapu3K08xjpBaIfWNjVwUXw1E3MgZcJ/3x maSWJyulGc37HKP4bA==; From: dave@treblig.org To: qemu-devel@nongnu.org, armbru@redhat.com Cc: AlanoSong@163.com, "Dr. David Alan Gilbert" , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Subject: [PATCH 1/4] hmp*hx: Move info docs Date: Mon, 4 May 2026 18:49:11 +0100 Message-ID: <20260504174914.122607-2-dave@treblig.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260504174914.122607-1-dave@treblig.org> References: <20260504174914.122607-1-dave@treblig.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1098:5b::1; envelope-from=dave@treblig.org; helo=mx.treblig.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @treblig.org) X-ZM-MESSAGEID: 1777917059347154100 From: "Dr. David Alan Gilbert" Move the docs for the info subcommand from the separate hx into the top level file next to the 'info' command itself. That makes every command in the top level file have a RST section. Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Markus Armbruster --- hmp-commands-info.hx | 9 +-------- hmp-commands.hx | 27 +++++++++++++++++---------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx index 74c741f80e..964eed004c 100644 --- a/hmp-commands-info.hx +++ b/hmp-commands-info.hx @@ -8,14 +8,7 @@ HXCOMM HXCOMM In this file, generally SRST fragments should have two extra HXCOMM spaces of indent, so that the documentation list item for "info foo" HXCOMM appears inside the documentation list item for the top level -HXCOMM "info" documentation entry. The exception is the first SRST -HXCOMM fragment that defines that top level entry. - -SRST -``info`` *subcommand* - Show various information about the system state. - -ERST +HXCOMM "info" documentation entry. =20 { .name =3D "version", diff --git a/hmp-commands.hx b/hmp-commands.hx index 5cc4788f12..f4a6eeda93 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -1814,16 +1814,6 @@ SRST command. ERST =20 - { - .name =3D "info", - .args_type =3D "item:s?", - .params =3D "[subcommand]", - .help =3D "show various information about the system state", - .cmd =3D hmp_info_help, - .sub_table =3D hmp_info_cmds, - .flags =3D "p", - }, - #if defined(CONFIG_FDT) { .name =3D "dumpdtb", @@ -1867,3 +1857,20 @@ SRST List event channels in the guest ERST #endif + +HXCOMM *** MUST BE LAST ENTRY ** + { + .name =3D "info", + .args_type =3D "item:s?", + .params =3D "[subcommand]", + .help =3D "show various information about the system state", + .cmd =3D hmp_info_help, + .sub_table =3D hmp_info_cmds, + .flags =3D "p", + }, + +SRST +``info`` *subcommand* + Show various information about the system state. +ERST +HXCOMM *** MUST BE LAST ENTRY ** --=20 2.54.0 From nobody Sat May 30 18:34:46 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=none dis=none) header.from=treblig.org ARC-Seal: i=1; a=rsa-sha256; t=1777917048; cv=none; d=zohomail.com; s=zohoarc; b=RDAcurWH+KQWSEVm739eFDHagb9YRrf5anIgEBk86sFhzBF5qKpd1IH66d5zkge4q8h6u6akop+miMrfwSqDtUytU+b0Sm7i9vNb149z2FeKQYTLve672bDj08dNKphprFaWS/sQMz+A8e3j/aBDeSbEC7hoHRUtNoT7jtE4/dc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777917048; h=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=dhbHwk5ml/J/hueRHPn61+cLMwmSWZ9MTtG1+16ZpQA=; b=Xtmy78EmMnh7ynYI48t84Noxdd4EJCylht2uAyteo7JHdHJP8SLzErSpI1w3xnAdet/5Z9QMxVaWvnzDUeIp4h5/xhxymw3zY0z+pKqUQpkmDvKMwbPs8jLbzrXFkMNxQNd9jhNbPP/06CxHANIa9j4uHcE5M2x8ifvShtzDGQw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777917047998614.3162699728051; Mon, 4 May 2026 10:50:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJxQR-0004dK-7b; Mon, 04 May 2026 13:49:47 -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 1wJxQN-0004cC-2y for qemu-devel@nongnu.org; Mon, 04 May 2026 13:49:43 -0400 Received: from mx.treblig.org ([2a00:1098:5b::1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJxQG-0000aw-HV for qemu-devel@nongnu.org; Mon, 04 May 2026 13:49:42 -0400 Received: from localhost ([127.0.0.1] helo=dalek) by mx.treblig.org with esmtp (Exim 4.98.2) (envelope-from ) id 1wJxQA-00000000ZQZ-16d7; Mon, 04 May 2026 17:49:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=treblig.org ; s=bytemarkmx; h=MIME-Version:Message-ID:Date:Subject:From:Content-Type:From :Subject; bh=dhbHwk5ml/J/hueRHPn61+cLMwmSWZ9MTtG1+16ZpQA=; b=izjRpsvId5Zla6L0 QerlyblZpXVDRaLeuKXn7Sr4CNuNWEzhJCO6KaJlJ1Mx4keOcoYcAMRlc1yCA4eQQo4HJYGBVovUk ljIXwswIwh4m+CsanynWn0inkWPHBVNwADJ0szUVZEwYQtOZmJNNnjWk9xDmt6mLkW0pln85wo09X 2MJENCPKCIjx+HTm3EaRavXoEmice9xvF63qE+8LyXP6qrwehEjJpOUP4Zl1JQjuP+/0WKeAZbV6C +lvJcFEIp1+LGVKLT291UHG6vY+V4tbTsOjuX3+g4H3DecU3dsyiPJIodc1p7f69gojM9WjoSCFlZ gtu6i89P8Px+GUDzag==; From: dave@treblig.org To: qemu-devel@nongnu.org, armbru@redhat.com Cc: AlanoSong@163.com, "Dr. David Alan Gilbert" , Thomas Huth Subject: [PATCH 2/4] hxtool: Split srst/erst add checks Date: Mon, 4 May 2026 18:49:12 +0100 Message-ID: <20260504174914.122607-3-dave@treblig.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260504174914.122607-1-dave@treblig.org> References: <20260504174914.122607-1-dave@treblig.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1098:5b::1; envelope-from=dave@treblig.org; helo=mx.treblig.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @treblig.org) X-ZM-MESSAGEID: 1777917051225158500 Content-Type: text/plain; charset="utf-8" From: "Dr. David Alan Gilbert" Split the SRST/ERST case and add some checks. This is mainly to make it easier to add some checks in following patches. Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Thomas Huth Reviewed-by: Markus Armbruster --- scripts/hxtool | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/scripts/hxtool b/scripts/hxtool index 80516b9437..51dc841479 100755 --- a/scripts/hxtool +++ b/scripts/hxtool @@ -2,15 +2,29 @@ =20 hxtoh() { - flag=3D1 + in_rst=3D0 while read -r str; do case $str in HXCOMM*) ;; - SRST*|ERST*) flag=3D$(($flag^1)) + SRST*) + if [ $in_rst -eq 1 ] + then + echo "Error: SRST inside another RST" >&2 + exit 1 + fi + in_rst=3D1 + ;; + ERST*) + if [ $in_rst -eq 0 ] + then + echo "Error: ERST already outside RST" >&2 + exit 1 + fi + in_rst=3D0 ;; *) - test $flag -eq 1 && printf "%s\n" "$str" + test $in_rst -eq 0 && printf "%s\n" "$str" ;; esac done --=20 2.54.0 From nobody Sat May 30 18:34:46 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=none dis=none) header.from=treblig.org ARC-Seal: i=1; a=rsa-sha256; t=1777917056; cv=none; d=zohomail.com; s=zohoarc; b=eBfEAyMjQ6d2EQEdbXSsUh4bictJDQRc+72Jy6PFqa+jK/5P+ZMAuk8r+DDr+lLYmPzdqStXej9nKmP3W3OB3knrWVzDsHErvqNXsVXR3zDhnBemDUjDxTT0zZIFAFMvqudnPKqC5ipQPJvFgqB9fCe3d7lJTmTZb4SOauKyXBM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777917056; h=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=eui225Z0UCfacH5eyWoLlqyenDHCvrvlYzvvNvlGNqE=; b=T+RQCYy845M4pVlyEE7ZZdDnA2cfCtVX50FNwjgQIhNctgc9Fo7DGsJSiZdf7TxlSnS/xJphyCor1HsHhsytwFJZacZFTMB+8Osh6c68xhByj5VI8v6NM3XeQo79vr63fGzSxaJmASPqy0G04heCwlUHw/qAUbbI6YtvRhbPA+Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17779170568281019.8723481406037; Mon, 4 May 2026 10:50:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJxQQ-0004dJ-M5; Mon, 04 May 2026 13:49:46 -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 1wJxQN-0004cB-1Q for qemu-devel@nongnu.org; Mon, 04 May 2026 13:49:43 -0400 Received: from mx.treblig.org ([2a00:1098:5b::1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJxQJ-0000c4-T5 for qemu-devel@nongnu.org; Mon, 04 May 2026 13:49:42 -0400 Received: from localhost ([127.0.0.1] helo=dalek) by mx.treblig.org with esmtp (Exim 4.98.2) (envelope-from ) id 1wJxQB-00000000ZQZ-1GUN; Mon, 04 May 2026 17:49:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=treblig.org ; s=bytemarkmx; h=MIME-Version:Message-ID:Date:Subject:From:Content-Type:From :Subject; bh=eui225Z0UCfacH5eyWoLlqyenDHCvrvlYzvvNvlGNqE=; b=MQpfRXzwbU5wkizV NNoWhRieE0+axoUTlmAAqclzbeGAPEXaScd3a5p72saH02w0OHmHV6fa/E+aliMmpw19W0O00nVLg /pdus4aOaTcSXIpDZcrqp2FcfyDjqv3oYMSKmV09HzLr9LGPNNcoAgCkkx3Q5VN/sn5QcSFN5UFJZ D+j1s84bIw7OF/hX48EdUoZoLJ5X97YK06do9qww5wLF62BJrYdX2qQ39fnQIJt80TcQgnMuJU1qP 76zTUlKShrHq7KNrI8WB+xcmiJG/bb43/QxtQTTMslGsCH5Gxm4dvyyp1CqGxfoRUFWBSaIzkYb8q IdnaTu9Mdc+YzQZg4A==; From: dave@treblig.org To: qemu-devel@nongnu.org, armbru@redhat.com Cc: AlanoSong@163.com, "Dr. David Alan Gilbert" Subject: [PATCH 3/4] hxtool: Error on missing docs Date: Mon, 4 May 2026 18:49:13 +0100 Message-ID: <20260504174914.122607-4-dave@treblig.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260504174914.122607-1-dave@treblig.org> References: <20260504174914.122607-1-dave@treblig.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1098:5b::1; envelope-from=dave@treblig.org; helo=mx.treblig.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @treblig.org) X-ZM-MESSAGEID: 1777917059334154100 Content-Type: text/plain; charset="utf-8" From: "Dr. David Alan Gilbert" Error if a '.name' is seen after another '.name' without an intervening SRST, this normally indicates missing or misplaced docs. We can't check DEF (as used in command line options) because those often have multiple DEF per doc. Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Markus Armbruster With the two minor tidy ups from Thomas's review --- scripts/hxtool | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/scripts/hxtool b/scripts/hxtool index 51dc841479..617a694eaf 100755 --- a/scripts/hxtool +++ b/scripts/hxtool @@ -1,8 +1,15 @@ #!/bin/sh =20 +print_if_not_rst() +{ + test $in_rst -eq 0 && printf "%s\n" "$str" +} + hxtoh() { in_rst=3D0 + # .name for HMP + seen_name=3D0 while read -r str; do case $str in HXCOMM*) @@ -13,6 +20,8 @@ hxtoh() echo "Error: SRST inside another RST" >&2 exit 1 fi + # consume the name + seen_name=3D0 in_rst=3D1 ;; ERST*) @@ -23,8 +32,18 @@ hxtoh() fi in_rst=3D0 ;; + # Note the space at the start - we need to exclude something.n= ame + ( .name*) + if [ $seen_name -eq 1 ] + then + echo "Error: Seen another .name, maybe missing docs?" >&2 + exit 1 + fi + seen_name=3D1 + print_if_not_rst + ;; *) - test $in_rst -eq 0 && printf "%s\n" "$str" + print_if_not_rst ;; esac done --=20 2.54.0 From nobody Sat May 30 18:34:46 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=none dis=none) header.from=treblig.org ARC-Seal: i=1; a=rsa-sha256; t=1777917036; cv=none; d=zohomail.com; s=zohoarc; b=mAs/NI4Zg8Yyj7O+0H+JSgCJQXVGH6GxtNc7hL9P0VvOt0I45OdLOO84ZSq16swSK5EPACu4nUNvPAJll8E9xneDSjTfCK7sfGR2bWvOcfblwiggcFpwiVGoAeZk39/hdxVEWXqObuT+551Cl5+cfN5NJQbcjwefF8KPCo33x+Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777917036; h=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=jAtRdMdn+1DXmNxbMaB6LO2kTltRACebDia2do/rLS8=; b=BGn6tz4YUWwPBLSIEYjCPrX0yaGE4tYjkkPRZ96s9HNcYc7BsT5zfPXkf/1OX+E91UImldIFXHhXmfUfvvl9dSO2UoXagFfl/rOfhtRyFzwx9C8uZA92/mQBHt2LIGa4ABwYV+EkaRMknrz9YLjYakZyFb5YRoErEAjuyEznvjE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17779170359207.113044834030575; Mon, 4 May 2026 10:50:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wJxQU-0004dv-Mk; Mon, 04 May 2026 13:49:50 -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 1wJxQR-0004da-Kw for qemu-devel@nongnu.org; Mon, 04 May 2026 13:49:47 -0400 Received: from mx.treblig.org ([2a00:1098:5b::1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wJxQL-0000cn-Ot for qemu-devel@nongnu.org; Mon, 04 May 2026 13:49:43 -0400 Received: from localhost ([127.0.0.1] helo=dalek) by mx.treblig.org with esmtp (Exim 4.98.2) (envelope-from ) id 1wJxQC-00000000ZQZ-05be; Mon, 04 May 2026 17:49:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=treblig.org ; s=bytemarkmx; h=MIME-Version:Message-ID:Date:Subject:From:Content-Type:From :Subject; bh=jAtRdMdn+1DXmNxbMaB6LO2kTltRACebDia2do/rLS8=; b=S00RuLSoAT4eMCV4 INMpiVFSJl+1kCdHnmLSHJ2g2DmU5S33SBy0hix7rGGtYQNpRH9G3eHrn8GhPgf14u6Jc+S7VUOc9 WHoxXdc2F0lvfCGO5YmFS/GPoPhA+GbLnmL0GinIbqz0f+tlpIFez/zcInkGPNw84NZr/+I3dXbdz kwNMJreIzD0McTNQZnC7RWBsbNTBvOhHcyUbqUoUdUsvcUo5khnirX5ke+XXoYLQ+HZVdVUF8sYzp hkf+t4TvSFO7Ls6e68JkzjpvqMJ1Jvpa64csq9+wKkD3/7GfCpXeo+0qmytKj//X+0SeDw8IPn1SH rZyFy5cif9o3645hpQ==; From: dave@treblig.org To: qemu-devel@nongnu.org, armbru@redhat.com Cc: AlanoSong@163.com, "Dr. David Alan Gilbert" Subject: [PATCH 4/4] monitor: Add `clear` command Date: Mon, 4 May 2026 18:49:14 +0100 Message-ID: <20260504174914.122607-5-dave@treblig.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260504174914.122607-1-dave@treblig.org> References: <20260504174914.122607-1-dave@treblig.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1098:5b::1; envelope-from=dave@treblig.org; helo=mx.treblig.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @treblig.org) X-ZM-MESSAGEID: 1777917039916154100 Content-Type: text/plain; charset="utf-8" From: "AlanoSong@163.com" The monitor screen can be cluttered after executing commands like `info qtree`. It is useful to have a command to clear current screen, just like linux `clear` command do. This patch has been tested under monitors using stdio, vc, tcp socket, unix socket and serial interfaces. Signed-off-by: Alano Song Reviewed-by: Dr. David Alan Gilbert Signed-off-by: Dr. David Alan Gilbert --- hmp-commands.hx | 14 ++++++++++++++ include/monitor/hmp.h | 1 + monitor/hmp-cmds.c | 11 +++++++++++ 3 files changed, 26 insertions(+) diff --git a/hmp-commands.hx b/hmp-commands.hx index f4a6eeda93..b806ec5635 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -20,6 +20,20 @@ SRST Show the help for all commands or just for command *cmd*. ERST =20 + { + .name =3D "clear", + .args_type =3D "", + .params =3D "", + .help =3D "clear the monitor screen", + .cmd =3D hmp_clear, + .flags =3D "p", + }, + +SRST +``clear`` + Clear the monitor screen. +ERST + { .name =3D "commit", .args_type =3D "device:B", diff --git a/include/monitor/hmp.h b/include/monitor/hmp.h index e222bea60c..9b66458d21 100644 --- a/include/monitor/hmp.h +++ b/include/monitor/hmp.h @@ -165,6 +165,7 @@ void hmp_trace_event(Monitor *mon, const QDict *qdict); void hmp_trace_file(Monitor *mon, const QDict *qdict); void hmp_info_trace_events(Monitor *mon, const QDict *qdict); void hmp_help(Monitor *mon, const QDict *qdict); +void hmp_clear(Monitor *mon, const QDict *qdict); void hmp_info_help(Monitor *mon, const QDict *qdict); void hmp_info_sync_profile(Monitor *mon, const QDict *qdict); void hmp_info_history(Monitor *mon, const QDict *qdict); diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c index afa7b709a6..1b44d07c18 100644 --- a/monitor/hmp-cmds.c +++ b/monitor/hmp-cmds.c @@ -219,6 +219,17 @@ void hmp_help(Monitor *mon, const QDict *qdict) hmp_help_cmd(mon, qdict_get_try_str(qdict, "name")); } =20 +void hmp_clear(Monitor *mon, const QDict *qdict) +{ + /* + * Send an ANSI escape sequence: + * "\x1b[H" - move cursor to top-left + * "\x1b[2J" - clear visible screen + * "\x1b[3J" - clear scrollback + */ + monitor_printf(mon, "\x1b[H\x1b[2J\x1b[3J"); +} + void hmp_info_help(Monitor *mon, const QDict *qdict) { hmp_help_cmd(mon, "info"); --=20 2.54.0