From a3adb7ad3bd9c517d569e7e23b249e7f7d616015 Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Mon, 19 Dec 2011 17:19:31 +1100 Subject: 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 Signed-off-by: Anthony Liguori --- qemu-options-wrapper.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'qemu-options-wrapper.h') diff --git a/qemu-options-wrapper.h b/qemu-options-wrapper.h index 202f5af..13bfea0 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 -- cgit v1.1