summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qemu-options-wrapper.h15
-rw-r--r--qemu-options.hx4
-rw-r--r--scripts/hxtool3
-rw-r--r--vl.c21
4 files changed, 26 insertions, 17 deletions
diff --git a/qemu-options-wrapper.h b/qemu-options-wrapper.h
index 202f5af9b4..13bfea0294 100644
--- a/qemu-options-wrapper.h
+++ b/qemu-options-wrapper.h
@@ -4,18 +4,26 @@
#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \
opt_enum,
#define DEFHEADING(text)
+#define ARCHHEADING(text, arch_mask)
#elif defined(QEMU_OPTIONS_GENERATE_HELP)
-#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \
- opt_help
-#define DEFHEADING(text) stringify(text) "\n"
+#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \
+ if ((arch_mask) & arch_type) \
+ fputs(opt_help, stdout);
+
+#define ARCHHEADING(text, arch_mask) \
+ if ((arch_mask) & arch_type) \
+ puts(stringify(text));
+
+#define DEFHEADING(text) ARCHHEADING(text, QEMU_ARCH_ALL)
#elif defined(QEMU_OPTIONS_GENERATE_OPTIONS)
#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \
{ option, opt_arg, opt_enum, arch_mask },
#define DEFHEADING(text)
+#define ARCHHEADING(text, arch_mask)
#else
#error "qemu-options-wrapper.h included with no option defined"
@@ -25,6 +33,7 @@
#undef DEF
#undef DEFHEADING
+#undef ARCHHEADING
#undef GEN_DOCS
#undef QEMU_OPTIONS_GENERATE_ENUM
diff --git a/qemu-options.hx b/qemu-options.hx
index 087a3b9376..749aee1bb7 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -1070,9 +1070,9 @@ STEXI
@end table
ETEXI
-DEFHEADING()
+ARCHHEADING(, QEMU_ARCH_I386)
-DEFHEADING(i386 target only:)
+ARCHHEADING(i386 target only:, QEMU_ARCH_I386)
STEXI
@table @option
ETEXI
diff --git a/scripts/hxtool b/scripts/hxtool
index 7ca83ed1ff..995bb7f08c 100644
--- a/scripts/hxtool
+++ b/scripts/hxtool
@@ -47,6 +47,9 @@ hxtotexi()
DEFHEADING*)
echo "$(expr "$str" : "DEFHEADING(\(.*\))")"
;;
+ ARCHHEADING*)
+ echo "$(expr "$str" : "ARCHHEADING(\(.*\),.*)")"
+ ;;
*)
test $flag -eq 1 && echo "$str"
;;
diff --git a/vl.c b/vl.c
index 25ec37b563..da69f94dd1 100644
--- a/vl.c
+++ b/vl.c
@@ -1492,24 +1492,21 @@ static void version(void)
static void help(int exitcode)
{
- const char *options_help =
+ version();
+ printf("usage: %s [options] [disk_image]\n\n"
+ "'disk_image' is a raw hard disk image for IDE hard disk 0\n\n",
+ error_get_progname());
+
#define QEMU_OPTIONS_GENERATE_HELP
#include "qemu-options-wrapper.h"
- ;
- version();
- printf("usage: %s [options] [disk_image]\n"
- "\n"
- "'disk_image' is a raw hard disk image for IDE hard disk 0\n"
- "\n"
- "%s\n"
- "During emulation, the following keys are useful:\n"
+
+ printf("\nDuring emulation, the following keys are useful:\n"
"ctrl-alt-f toggle full screen\n"
"ctrl-alt-n switch to virtual console 'n'\n"
"ctrl-alt toggle mouse and keyboard grab\n"
"\n"
- "When using -nographic, press 'ctrl-a h' to get some help.\n",
- error_get_progname(),
- options_help);
+ "When using -nographic, press 'ctrl-a h' to get some help.\n");
+
exit(exitcode);
}