summaryrefslogtreecommitdiff
path: root/chardev
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2026-08-28 16:04:25 +0400
committerMarc-André Lureau <marcandre.lureau@redhat.com>2026-08-29 12:07:44 +0400
commit7c2ecb4e5e0353ddacd08ce2ffdda355bb95e189 (patch)
tree9e9a444911f1ce6d174677a370ff473fbc254751 /chardev
parentf32f9067cf47e49d1e8ebb89ec97741eb8b01954 (diff)
downloadqemu-7c2ecb4e5e0353ddacd08ce2ffdda355bb95e189.tar.gz
qemu-7c2ecb4e5e0353ddacd08ce2ffdda355bb95e189.zip
system: guard HMP initialization paths with CONFIG_HMP
- disable default monitor when HMP is not available - hide 'readline' from -mon help text - error out on mux chardev monitor when no HMP - skip HMP monitor terminal for gdb, return E01 for 'qRcmd' remote commands Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20260828-qemu-no-hmp-v5-28-9227de146347@redhat.com>
Diffstat (limited to 'chardev')
-rw-r--r--chardev/char.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/chardev/char.c b/chardev/char.c
index 22e5bae388..c6c8133f5c 100644
--- a/chardev/char.c
+++ b/chardev/char.c
@@ -804,8 +804,9 @@ static Chardev *qemu_chr_new_from_name(const char *label, const char *filename,
}
if (qemu_opt_get_bool(opts, "mux", 0)) {
- const char *chardev_id = qemu_opts_id(opts);
assert(permit_mux_mon);
+#ifdef CONFIG_HMP
+ const char *chardev_id = qemu_opts_id(opts);
monitor_new_hmp(NULL, chardev_id, true, &err);
if (err) {
error_report_err(err);
@@ -813,6 +814,12 @@ static Chardev *qemu_chr_new_from_name(const char *label, const char *filename,
chr = NULL;
goto out;
}
+#else
+ error_report("HMP monitor is disabled");
+ object_unparent(OBJECT(chr));
+ chr = NULL;
+ goto out;
+#endif
}
out: