summaryrefslogtreecommitdiff
path: root/qemu-options-wrapper.h
diff options
context:
space:
mode:
authorMichael Ellerman <michael@ellerman.id.au>2011-12-19 17:19:31 +1100
committerAnthony Liguori <aliguori@us.ibm.com>2011-12-19 10:27:33 -0600
commita3adb7ad3bd9c517d569e7e23b249e7f7d616015 (patch)
tree0c1406a66e4bd75d2598c431d310bd6e4e26f5f1 /qemu-options-wrapper.h
parent77bd1119ba43dbd0e73014037a08f8b49136bf6f (diff)
downloadqemu-a3adb7ad3bd9c517d569e7e23b249e7f7d616015.tar.gz
qemu-a3adb7ad3bd9c517d569e7e23b249e7f7d616015.tar.bz2
qemu-a3adb7ad3bd9c517d569e7e23b249e7f7d616015.zip
vl.c: In qemu -h output, only print options for the arch we are running as
Only print options in the help output that are accepted by our arch. This is less confusing for users and also for other programs that consume the help output. The options affected are: -g and -prom-env only displayed on PPC or SPARC -win2k-hack, -rtc-td-hack, -no-fd-bootchk, -no-acpi, -no-hpet, -acpitable, -smbios only displayed on i386 -semihosting only displayed on ARM, M68K or XTENSA -old-param only displayed on ARM Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'qemu-options-wrapper.h')
-rw-r--r--qemu-options-wrapper.h15
1 files changed, 12 insertions, 3 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