* [PATCH] qemu-options.hx: Document -M as -machine alias
@ 2025-12-03 13:15 dave
2025-12-03 13:28 ` Alex Bennée
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: dave @ 2025-12-03 13:15 UTC (permalink / raw)
To: qemu-trivial, mjt, laurent, thuth, pbonzini
Cc: jak, qemu-devel, Dr. David Alan Gilbert
From: "Dr. David Alan Gilbert" <dave@treblig.org>
-M is used heavily in documentation and scripts, but isn't actually
documented anywhere.
Document it as equivalent to -machine.
Reported-by: Julian Andres Klode <jak@jak-linux.org>
Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
---
qemu-options.hx | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/qemu-options.hx b/qemu-options.hx
index fca2b7bc74..ec92723f10 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -44,6 +44,7 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \
#endif
" memory-backend='backend-id' specifies explicitly provided backend for main RAM (default=none)\n"
" cxl-fmw.0.targets.0=firsttarget,cxl-fmw.0.targets.1=secondtarget,cxl-fmw.0.size=size[,cxl-fmw.0.interleave-granularity=granularity]\n"
+ " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n"
" smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel\n",
QEMU_ARCH_ALL)
SRST
@@ -179,6 +180,9 @@ SRST
-machine cxl-fmw.0.targets.0=cxl.0,cxl-fmw.0.targets.1=cxl.1,cxl-fmw.0.size=128G,cxl-fmw.0.interleave-granularity=512
+ ``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}``
+ Define an SGX EPC section.
+
``smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel``
Define cache properties for SMP system.
@@ -208,12 +212,10 @@ SRST
ERST
DEF("M", HAS_ARG, QEMU_OPTION_M,
- " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n",
- QEMU_ARCH_ALL)
-
+ "-M as -machine\n", QEMU_ARCH_ALL)
SRST
-``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}``
- Define an SGX EPC section.
+``-M``
+ as -machine.
ERST
DEF("cpu", HAS_ARG, QEMU_OPTION_cpu,
--
2.52.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH] qemu-options.hx: Document -M as -machine alias 2025-12-03 13:15 [PATCH] qemu-options.hx: Document -M as -machine alias dave @ 2025-12-03 13:28 ` Alex Bennée 2025-12-03 13:59 ` Dr. David Alan Gilbert 2025-12-03 13:59 ` Paolo Bonzini 2025-12-04 7:31 ` Thomas Huth 2 siblings, 1 reply; 11+ messages in thread From: Alex Bennée @ 2025-12-03 13:28 UTC (permalink / raw) To: dave; +Cc: qemu-trivial, mjt, laurent, thuth, pbonzini, jak, qemu-devel dave@treblig.org writes: > From: "Dr. David Alan Gilbert" <dave@treblig.org> > > -M is used heavily in documentation and scripts, but isn't actually > documented anywhere. > Document it as equivalent to -machine. > > Reported-by: Julian Andres Klode <jak@jak-linux.org> > Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org> > --- > qemu-options.hx | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/qemu-options.hx b/qemu-options.hx > index fca2b7bc74..ec92723f10 100644 > --- a/qemu-options.hx > +++ b/qemu-options.hx > @@ -44,6 +44,7 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \ > #endif > " memory-backend='backend-id' specifies explicitly provided backend for main RAM (default=none)\n" > " cxl-fmw.0.targets.0=firsttarget,cxl-fmw.0.targets.1=secondtarget,cxl-fmw.0.size=size[,cxl-fmw.0.interleave-granularity=granularity]\n" > + " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n" > " smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel\n", > QEMU_ARCH_ALL) > SRST > @@ -179,6 +180,9 @@ SRST > > -machine cxl-fmw.0.targets.0=cxl.0,cxl-fmw.0.targets.1=cxl.1,cxl-fmw.0.size=128G,cxl-fmw.0.interleave-granularity=512 > > + ``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}`` > + Define an SGX EPC section. > + This seems unrelated. > ``smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel`` > Define cache properties for SMP system. > > @@ -208,12 +212,10 @@ SRST > ERST > > DEF("M", HAS_ARG, QEMU_OPTION_M, > - " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n", > - QEMU_ARCH_ALL) > - > + "-M as -machine\n", QEMU_ARCH_ALL) > SRST > -``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}`` > - Define an SGX EPC section. > +``-M`` > + as -machine. Did we have a merge conflict at some point that messed things up? > ERST > > DEF("cpu", HAS_ARG, QEMU_OPTION_cpu, -- Alex Bennée Virtualisation Tech Lead @ Linaro ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] qemu-options.hx: Document -M as -machine alias 2025-12-03 13:28 ` Alex Bennée @ 2025-12-03 13:59 ` Dr. David Alan Gilbert 2025-12-03 16:06 ` Peter Maydell 0 siblings, 1 reply; 11+ messages in thread From: Dr. David Alan Gilbert @ 2025-12-03 13:59 UTC (permalink / raw) To: Alex Bennée Cc: qemu-trivial, mjt, laurent, thuth, pbonzini, jak, qemu-devel * Alex Bennée (alex.bennee@linaro.org) wrote: > dave@treblig.org writes: > > > From: "Dr. David Alan Gilbert" <dave@treblig.org> > > > > -M is used heavily in documentation and scripts, but isn't actually > > documented anywhere. > > Document it as equivalent to -machine. > > > > Reported-by: Julian Andres Klode <jak@jak-linux.org> > > Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org> > > --- > > qemu-options.hx | 12 +++++++----- > > 1 file changed, 7 insertions(+), 5 deletions(-) > > > > diff --git a/qemu-options.hx b/qemu-options.hx > > index fca2b7bc74..ec92723f10 100644 > > --- a/qemu-options.hx > > +++ b/qemu-options.hx > > @@ -44,6 +44,7 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \ > > #endif > > " memory-backend='backend-id' specifies explicitly provided backend for main RAM (default=none)\n" > > " cxl-fmw.0.targets.0=firsttarget,cxl-fmw.0.targets.1=secondtarget,cxl-fmw.0.size=size[,cxl-fmw.0.interleave-granularity=granularity]\n" > > + " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n" > > " smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel\n", > > QEMU_ARCH_ALL) > > SRST > > @@ -179,6 +180,9 @@ SRST > > > > -machine cxl-fmw.0.targets.0=cxl.0,cxl-fmw.0.targets.1=cxl.1,cxl-fmw.0.size=128G,cxl-fmw.0.interleave-granularity=512 > > > > + ``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}`` > > + Define an SGX EPC section. > > + > > This seems unrelated. > > > ``smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel`` > > Define cache properties for SMP system. > > > > @@ -208,12 +212,10 @@ SRST > > ERST > > > > DEF("M", HAS_ARG, QEMU_OPTION_M, > > - " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n", > > - QEMU_ARCH_ALL) > > - > > + "-M as -machine\n", QEMU_ARCH_ALL) > > SRST > > -``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}`` > > - Define an SGX EPC section. > > +``-M`` > > + as -machine. > > Did we have a merge conflict at some point that messed things up? It's not clear - it was the only option hanging around in -M and it was already appearing wrong in the man output. I wondered if it was some requirement to have *something* in the -M definition so thought it best to move it at the same time. Dave > > ERST > > > > DEF("cpu", HAS_ARG, QEMU_OPTION_cpu, > > -- > Alex Bennée > Virtualisation Tech Lead @ Linaro -- -----Open up your eyes, open up your mind, open up your code ------- / Dr. David Alan Gilbert | Running GNU/Linux | Happy \ \ dave @ treblig.org | | In Hex / \ _________________________|_____ http://www.treblig.org |_______/ ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] qemu-options.hx: Document -M as -machine alias 2025-12-03 13:59 ` Dr. David Alan Gilbert @ 2025-12-03 16:06 ` Peter Maydell 2025-12-03 16:20 ` Dr. David Alan Gilbert 2025-12-11 3:31 ` Xiaoyao Li 0 siblings, 2 replies; 11+ messages in thread From: Peter Maydell @ 2025-12-03 16:06 UTC (permalink / raw) To: Dr. David Alan Gilbert Cc: Alex Bennée, qemu-trivial, mjt, laurent, thuth, pbonzini, jak, qemu-devel On Wed, 3 Dec 2025 at 14:00, Dr. David Alan Gilbert <dave@treblig.org> wrote: > > * Alex Bennée (alex.bennee@linaro.org) wrote: > > dave@treblig.org writes: > > > > > From: "Dr. David Alan Gilbert" <dave@treblig.org> > > > > > > -M is used heavily in documentation and scripts, but isn't actually > > > documented anywhere. > > > Document it as equivalent to -machine. > > > > > > Reported-by: Julian Andres Klode <jak@jak-linux.org> > > > Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org> > > > --- > > > qemu-options.hx | 12 +++++++----- > > > 1 file changed, 7 insertions(+), 5 deletions(-) > > > > > > diff --git a/qemu-options.hx b/qemu-options.hx > > > index fca2b7bc74..ec92723f10 100644 > > > --- a/qemu-options.hx > > > +++ b/qemu-options.hx > > > @@ -44,6 +44,7 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \ > > > #endif > > > " memory-backend='backend-id' specifies explicitly provided backend for main RAM (default=none)\n" > > > " cxl-fmw.0.targets.0=firsttarget,cxl-fmw.0.targets.1=secondtarget,cxl-fmw.0.size=size[,cxl-fmw.0.interleave-granularity=granularity]\n" > > > + " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n" > > > " smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel\n", > > > QEMU_ARCH_ALL) > > > SRST > > > @@ -179,6 +180,9 @@ SRST > > > > > > -machine cxl-fmw.0.targets.0=cxl.0,cxl-fmw.0.targets.1=cxl.1,cxl-fmw.0.size=128G,cxl-fmw.0.interleave-granularity=512 > > > > > > + ``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}`` > > > + Define an SGX EPC section. > > > + > > > > This seems unrelated. > > > > > ``smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel`` > > > Define cache properties for SMP system. > > > > > > @@ -208,12 +212,10 @@ SRST > > > ERST > > > > > > DEF("M", HAS_ARG, QEMU_OPTION_M, > > > - " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n", > > > - QEMU_ARCH_ALL) > > > - > > > + "-M as -machine\n", QEMU_ARCH_ALL) > > > SRST > > > -``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}`` > > > - Define an SGX EPC section. > > > +``-M`` > > > + as -machine. Surprisingly, this and -h/--help are our only two options where we provide a short synonym. I note that this handling of -M is not consistent with how we document -h/--help, where we print both on a single line: -h or -help display this help and exit But it would be trickier to fit that in for -machine and perhaps confusing given the suboptions. > > Did we have a merge conflict at some point that messed things up? > > It's not clear - it was the only option hanging around in -M and it was > already appearing wrong in the man output. > I wondered if it was some requirement to have *something* in the -M > definition so thought it best to move it at the same time. It looks like this was incorrectly added under -M by commit dfce81f1b9 ("vl: Add sgx compound properties to expose SGX EPC sections to guest"), which should have put it under -machine like all our other machine suboption documentation. The result is that the sgx-epc documentation appears OK in --help because the --help output just concatenates everything so it gets tacked on after the -machine help, but it is misrendered in the HTML docs: https://qemu-project.gitlab.io/qemu/system/invocation.html as it appears as if a top level option rather than one indented to indicate that it's a machine sub-option. So this change fixes that bug (and should ideally say so in its commit message). Before that it simply read -HXCOMM Deprecated by -machine -DEF("M", HAS_ARG, QEMU_OPTION_M, "", QEMU_ARCH_ALL) (Commit dfce81f1b9 also silently dropped that "deprecated" comment, which it shouldn't really have done.) thanks -- PMM ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] qemu-options.hx: Document -M as -machine alias 2025-12-03 16:06 ` Peter Maydell @ 2025-12-03 16:20 ` Dr. David Alan Gilbert 2025-12-03 16:28 ` Peter Maydell 2025-12-11 3:31 ` Xiaoyao Li 1 sibling, 1 reply; 11+ messages in thread From: Dr. David Alan Gilbert @ 2025-12-03 16:20 UTC (permalink / raw) To: Peter Maydell Cc: Alex Bennée, qemu-trivial, mjt, laurent, thuth, pbonzini, jak, qemu-devel * Peter Maydell (peter.maydell@linaro.org) wrote: > On Wed, 3 Dec 2025 at 14:00, Dr. David Alan Gilbert <dave@treblig.org> wrote: > > > > * Alex Bennée (alex.bennee@linaro.org) wrote: > > > dave@treblig.org writes: > > > > > > > From: "Dr. David Alan Gilbert" <dave@treblig.org> > > > > > > > > -M is used heavily in documentation and scripts, but isn't actually > > > > documented anywhere. > > > > Document it as equivalent to -machine. > > > > > > > > Reported-by: Julian Andres Klode <jak@jak-linux.org> > > > > Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org> > > > > --- > > > > qemu-options.hx | 12 +++++++----- > > > > 1 file changed, 7 insertions(+), 5 deletions(-) > > > > > > > > diff --git a/qemu-options.hx b/qemu-options.hx > > > > index fca2b7bc74..ec92723f10 100644 > > > > --- a/qemu-options.hx > > > > +++ b/qemu-options.hx > > > > @@ -44,6 +44,7 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \ > > > > #endif > > > > " memory-backend='backend-id' specifies explicitly provided backend for main RAM (default=none)\n" > > > > " cxl-fmw.0.targets.0=firsttarget,cxl-fmw.0.targets.1=secondtarget,cxl-fmw.0.size=size[,cxl-fmw.0.interleave-granularity=granularity]\n" > > > > + " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n" > > > > " smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel\n", > > > > QEMU_ARCH_ALL) > > > > SRST > > > > @@ -179,6 +180,9 @@ SRST > > > > > > > > -machine cxl-fmw.0.targets.0=cxl.0,cxl-fmw.0.targets.1=cxl.1,cxl-fmw.0.size=128G,cxl-fmw.0.interleave-granularity=512 > > > > > > > > + ``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}`` > > > > + Define an SGX EPC section. > > > > + > > > > > > This seems unrelated. > > > > > > > ``smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel`` > > > > Define cache properties for SMP system. > > > > > > > > @@ -208,12 +212,10 @@ SRST > > > > ERST > > > > > > > > DEF("M", HAS_ARG, QEMU_OPTION_M, > > > > - " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n", > > > > - QEMU_ARCH_ALL) > > > > - > > > > + "-M as -machine\n", QEMU_ARCH_ALL) > > > > SRST > > > > -``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}`` > > > > - Define an SGX EPC section. > > > > +``-M`` > > > > + as -machine. > > Surprisingly, this and -h/--help are our only two options where > we provide a short synonym. I note that this handling of -M > is not consistent with how we document -h/--help, where we > print both on a single line: > -h or -help display this help and exit > > But it would be trickier to fit that in for -machine and > perhaps confusing given the suboptions. Right, that's one of the two reasons I kept it separate. The other reason, is that I couldn't figure out how '-help' and '-h' both got defined - why is the second DEF(...) not needed? > > > Did we have a merge conflict at some point that messed things up? > > > > It's not clear - it was the only option hanging around in -M and it was > > already appearing wrong in the man output. > > I wondered if it was some requirement to have *something* in the -M > > definition so thought it best to move it at the same time. > > It looks like this was incorrectly added under -M by > commit dfce81f1b9 ("vl: Add sgx compound properties to expose > SGX EPC sections to guest"), which should have put it under > -machine like all our other machine suboption documentation. > > The result is that the sgx-epc documentation appears OK > in --help because the --help output just concatenates > everything so it gets tacked on after the -machine help, > but it is misrendered in the HTML docs: > https://qemu-project.gitlab.io/qemu/system/invocation.html > as it appears as if a top level option rather than one > indented to indicate that it's a machine sub-option. > So this change fixes that bug (and should ideally say so > in its commit message). > > Before that it simply read > -HXCOMM Deprecated by -machine > -DEF("M", HAS_ARG, QEMU_OPTION_M, "", QEMU_ARCH_ALL) > > (Commit dfce81f1b9 also silently dropped that "deprecated" > comment, which it shouldn't really have done.) Ah. Dave > thanks > -- PMM -- -----Open up your eyes, open up your mind, open up your code ------- / Dr. David Alan Gilbert | Running GNU/Linux | Happy \ \ dave @ treblig.org | | In Hex / \ _________________________|_____ http://www.treblig.org |_______/ ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] qemu-options.hx: Document -M as -machine alias 2025-12-03 16:20 ` Dr. David Alan Gilbert @ 2025-12-03 16:28 ` Peter Maydell 2025-12-03 16:37 ` Dr. David Alan Gilbert 0 siblings, 1 reply; 11+ messages in thread From: Peter Maydell @ 2025-12-03 16:28 UTC (permalink / raw) To: Dr. David Alan Gilbert Cc: Alex Bennée, qemu-trivial, mjt, laurent, thuth, pbonzini, jak, qemu-devel On Wed, 3 Dec 2025 at 16:20, Dr. David Alan Gilbert <dave@treblig.org> wrote: > > * Peter Maydell (peter.maydell@linaro.org) wrote: > > Surprisingly, this and -h/--help are our only two options where > > we provide a short synonym. I note that this handling of -M > > is not consistent with how we document -h/--help, where we > > print both on a single line: > > -h or -help display this help and exit > > > > But it would be trickier to fit that in for -machine and > > perhaps confusing given the suboptions. > > Right, that's one of the two reasons I kept it separate. > The other reason, is that I couldn't figure out how '-help' and '-h' > both got defined - why is the second DEF(...) not needed? A piece of delicious fudge lurking in system/vl.c: we have this hardcoded entry in the qemu_options[] array before the ones that are generated via the macro-magic from qemu-options.hx: { "h", 0, QEMU_OPTION_h, QEMU_ARCH_ALL }, So we recognize -h on the command line and turn it into QEMU_OPTION_h, the same as -help, but it doesn't result in anything in the documentation (we leave that up to the strings and RST in the DEF("help"...) section). thanks -- PMM ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] qemu-options.hx: Document -M as -machine alias 2025-12-03 16:28 ` Peter Maydell @ 2025-12-03 16:37 ` Dr. David Alan Gilbert 2025-12-03 16:43 ` Peter Maydell 0 siblings, 1 reply; 11+ messages in thread From: Dr. David Alan Gilbert @ 2025-12-03 16:37 UTC (permalink / raw) To: Peter Maydell Cc: Alex Bennée, qemu-trivial, mjt, laurent, thuth, pbonzini, jak, qemu-devel * Peter Maydell (peter.maydell@linaro.org) wrote: > On Wed, 3 Dec 2025 at 16:20, Dr. David Alan Gilbert <dave@treblig.org> wrote: > > > > * Peter Maydell (peter.maydell@linaro.org) wrote: > > > Surprisingly, this and -h/--help are our only two options where > > > we provide a short synonym. I note that this handling of -M > > > is not consistent with how we document -h/--help, where we > > > print both on a single line: > > > -h or -help display this help and exit > > > > > > But it would be trickier to fit that in for -machine and > > > perhaps confusing given the suboptions. > > > > Right, that's one of the two reasons I kept it separate. > > The other reason, is that I couldn't figure out how '-help' and '-h' > > both got defined - why is the second DEF(...) not needed? > > A piece of delicious fudge lurking in system/vl.c: we have > this hardcoded entry in the qemu_options[] array before > the ones that are generated via the macro-magic from > qemu-options.hx: > > { "h", 0, QEMU_OPTION_h, QEMU_ARCH_ALL }, > > So we recognize -h on the command line and turn it into > QEMU_OPTION_h, the same as -help, but it doesn't result in > anything in the documentation (we leave that up to the > strings and RST in the DEF("help"...) section). Hah ok! I guess that fudge could be removed and make it the same way -M works. Dave > thanks > -- PMM -- -----Open up your eyes, open up your mind, open up your code ------- / Dr. David Alan Gilbert | Running GNU/Linux | Happy \ \ dave @ treblig.org | | In Hex / \ _________________________|_____ http://www.treblig.org |_______/ ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] qemu-options.hx: Document -M as -machine alias 2025-12-03 16:37 ` Dr. David Alan Gilbert @ 2025-12-03 16:43 ` Peter Maydell 0 siblings, 0 replies; 11+ messages in thread From: Peter Maydell @ 2025-12-03 16:43 UTC (permalink / raw) To: Dr. David Alan Gilbert Cc: Alex Bennée, qemu-trivial, mjt, laurent, thuth, pbonzini, jak, qemu-devel On Wed, 3 Dec 2025 at 16:37, Dr. David Alan Gilbert <dave@treblig.org> wrote: > > * Peter Maydell (peter.maydell@linaro.org) wrote: > > On Wed, 3 Dec 2025 at 16:20, Dr. David Alan Gilbert <dave@treblig.org> wrote: > > > > > > * Peter Maydell (peter.maydell@linaro.org) wrote: > > > > Surprisingly, this and -h/--help are our only two options where > > > > we provide a short synonym. I note that this handling of -M > > > > is not consistent with how we document -h/--help, where we > > > > print both on a single line: > > > > -h or -help display this help and exit > > > > > > > > But it would be trickier to fit that in for -machine and > > > > perhaps confusing given the suboptions. > > > > > > Right, that's one of the two reasons I kept it separate. > > > The other reason, is that I couldn't figure out how '-help' and '-h' > > > both got defined - why is the second DEF(...) not needed? > > > > A piece of delicious fudge lurking in system/vl.c: we have > > this hardcoded entry in the qemu_options[] array before > > the ones that are generated via the macro-magic from > > qemu-options.hx: > > > > { "h", 0, QEMU_OPTION_h, QEMU_ARCH_ALL }, > > > > So we recognize -h on the command line and turn it into > > QEMU_OPTION_h, the same as -help, but it doesn't result in > > anything in the documentation (we leave that up to the > > strings and RST in the DEF("help"...) section). > > Hah ok! I guess that fudge could be removed and make it the > same way -M works. Yeah, I was pondering that. Also, we don't document --help in the HTML docs, only -h. -- PMM ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] qemu-options.hx: Document -M as -machine alias 2025-12-03 16:06 ` Peter Maydell 2025-12-03 16:20 ` Dr. David Alan Gilbert @ 2025-12-11 3:31 ` Xiaoyao Li 1 sibling, 0 replies; 11+ messages in thread From: Xiaoyao Li @ 2025-12-11 3:31 UTC (permalink / raw) To: Peter Maydell, Dr. David Alan Gilbert Cc: Alex Bennée, qemu-trivial, mjt, laurent, thuth, pbonzini, jak, qemu-devel On 12/4/2025 12:06 AM, Peter Maydell wrote: > On Wed, 3 Dec 2025 at 14:00, Dr. David Alan Gilbert <dave@treblig.org> wrote: >> >> * Alex Bennée (alex.bennee@linaro.org) wrote: >>> dave@treblig.org writes: >>> >>>> From: "Dr. David Alan Gilbert" <dave@treblig.org> >>>> >>>> -M is used heavily in documentation and scripts, but isn't actually >>>> documented anywhere. >>>> Document it as equivalent to -machine. >>>> >>>> Reported-by: Julian Andres Klode <jak@jak-linux.org> >>>> Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org> >>>> --- >>>> qemu-options.hx | 12 +++++++----- >>>> 1 file changed, 7 insertions(+), 5 deletions(-) >>>> >>>> diff --git a/qemu-options.hx b/qemu-options.hx >>>> index fca2b7bc74..ec92723f10 100644 >>>> --- a/qemu-options.hx >>>> +++ b/qemu-options.hx >>>> @@ -44,6 +44,7 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \ >>>> #endif >>>> " memory-backend='backend-id' specifies explicitly provided backend for main RAM (default=none)\n" >>>> " cxl-fmw.0.targets.0=firsttarget,cxl-fmw.0.targets.1=secondtarget,cxl-fmw.0.size=size[,cxl-fmw.0.interleave-granularity=granularity]\n" >>>> + " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n" >>>> " smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel\n", >>>> QEMU_ARCH_ALL) >>>> SRST >>>> @@ -179,6 +180,9 @@ SRST >>>> >>>> -machine cxl-fmw.0.targets.0=cxl.0,cxl-fmw.0.targets.1=cxl.1,cxl-fmw.0.size=128G,cxl-fmw.0.interleave-granularity=512 >>>> >>>> + ``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}`` >>>> + Define an SGX EPC section. >>>> + >>> >>> This seems unrelated. >>> >>>> ``smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel`` >>>> Define cache properties for SMP system. >>>> >>>> @@ -208,12 +212,10 @@ SRST >>>> ERST >>>> >>>> DEF("M", HAS_ARG, QEMU_OPTION_M, >>>> - " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n", >>>> - QEMU_ARCH_ALL) >>>> - >>>> + "-M as -machine\n", QEMU_ARCH_ALL) >>>> SRST >>>> -``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}`` >>>> - Define an SGX EPC section. >>>> +``-M`` >>>> + as -machine. > > Surprisingly, this and -h/--help are our only two options where > we provide a short synonym. I note that this handling of -M > is not consistent with how we document -h/--help, where we > print both on a single line: > -h or -help display this help and exit > > But it would be trickier to fit that in for -machine and > perhaps confusing given the suboptions. > >>> Did we have a merge conflict at some point that messed things up? >> >> It's not clear - it was the only option hanging around in -M and it was >> already appearing wrong in the man output. >> I wondered if it was some requirement to have *something* in the -M >> definition so thought it best to move it at the same time. > > It looks like this was incorrectly added under -M by > commit dfce81f1b9 ("vl: Add sgx compound properties to expose > SGX EPC sections to guest"), which should have put it under > -machine like all our other machine suboption documentation. > > The result is that the sgx-epc documentation appears OK > in --help because the --help output just concatenates > everything so it gets tacked on after the -machine help, > but it is misrendered in the HTML docs: > https://qemu-project.gitlab.io/qemu/system/invocation.html > as it appears as if a top level option rather than one > indented to indicate that it's a machine sub-option. > So this change fixes that bug (and should ideally say so > in its commit message). Yeah, I found this bug before and sent the fix: https://lore.kernel.org/qemu-devel/20250714091953.448226-2-xiaoyao.li@intel.com/ But I was occupied with other stuff then so that had no time to sent out the v2. > Before that it simply read > -HXCOMM Deprecated by -machine > -DEF("M", HAS_ARG, QEMU_OPTION_M, "", QEMU_ARCH_ALL) > > (Commit dfce81f1b9 also silently dropped that "deprecated" > comment, which it shouldn't really have done.) > > thanks > -- PMM > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] qemu-options.hx: Document -M as -machine alias 2025-12-03 13:15 [PATCH] qemu-options.hx: Document -M as -machine alias dave 2025-12-03 13:28 ` Alex Bennée @ 2025-12-03 13:59 ` Paolo Bonzini 2025-12-04 7:31 ` Thomas Huth 2 siblings, 0 replies; 11+ messages in thread From: Paolo Bonzini @ 2025-12-03 13:59 UTC (permalink / raw) To: dave; +Cc: qemu-trivial, mjt, laurent, thuth, pbonzini, jak, qemu-devel Queued, thanks. Paolo ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] qemu-options.hx: Document -M as -machine alias 2025-12-03 13:15 [PATCH] qemu-options.hx: Document -M as -machine alias dave 2025-12-03 13:28 ` Alex Bennée 2025-12-03 13:59 ` Paolo Bonzini @ 2025-12-04 7:31 ` Thomas Huth 2 siblings, 0 replies; 11+ messages in thread From: Thomas Huth @ 2025-12-04 7:31 UTC (permalink / raw) To: dave, qemu-trivial, mjt, laurent, pbonzini; +Cc: jak, qemu-devel On 03/12/2025 14.15, dave@treblig.org wrote: > From: "Dr. David Alan Gilbert" <dave@treblig.org> > > -M is used heavily in documentation and scripts, but isn't actually > documented anywhere. > Document it as equivalent to -machine. > > Reported-by: Julian Andres Klode <jak@jak-linux.org> > Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org> > --- > qemu-options.hx | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/qemu-options.hx b/qemu-options.hx > index fca2b7bc74..ec92723f10 100644 > --- a/qemu-options.hx > +++ b/qemu-options.hx > @@ -44,6 +44,7 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \ > #endif > " memory-backend='backend-id' specifies explicitly provided backend for main RAM (default=none)\n" > " cxl-fmw.0.targets.0=firsttarget,cxl-fmw.0.targets.1=secondtarget,cxl-fmw.0.size=size[,cxl-fmw.0.interleave-granularity=granularity]\n" > + " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n" > " smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel\n", > QEMU_ARCH_ALL) > SRST > @@ -179,6 +180,9 @@ SRST > > -machine cxl-fmw.0.targets.0=cxl.0,cxl-fmw.0.targets.1=cxl.1,cxl-fmw.0.size=128G,cxl-fmw.0.interleave-granularity=512 > > + ``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}`` > + Define an SGX EPC section. > + > ``smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel`` > Define cache properties for SMP system. > > @@ -208,12 +212,10 @@ SRST > ERST > > DEF("M", HAS_ARG, QEMU_OPTION_M, > - " sgx-epc.0.memdev=memid,sgx-epc.0.node=numaid\n", > - QEMU_ARCH_ALL) > - > + "-M as -machine\n", QEMU_ARCH_ALL) > SRST > -``sgx-epc.0.memdev=@var{memid},sgx-epc.0.node=@var{numaid}`` > - Define an SGX EPC section. > +``-M`` > + as -machine. > ERST > > DEF("cpu", HAS_ARG, QEMU_OPTION_cpu, Reviewed-by: Thomas Huth <thuth@redhat.com> ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2025-12-11 3:33 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-12-03 13:15 [PATCH] qemu-options.hx: Document -M as -machine alias dave 2025-12-03 13:28 ` Alex Bennée 2025-12-03 13:59 ` Dr. David Alan Gilbert 2025-12-03 16:06 ` Peter Maydell 2025-12-03 16:20 ` Dr. David Alan Gilbert 2025-12-03 16:28 ` Peter Maydell 2025-12-03 16:37 ` Dr. David Alan Gilbert 2025-12-03 16:43 ` Peter Maydell 2025-12-11 3:31 ` Xiaoyao Li 2025-12-03 13:59 ` Paolo Bonzini 2025-12-04 7:31 ` Thomas Huth
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).