qemu/qemu-options-wrapper.h
Michael Ellerman a3adb7ad3b 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>
2011-12-19 10:27:33 -06:00

41 lines
1 KiB
C

#if defined(QEMU_OPTIONS_GENERATE_ENUM)
#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) \
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"
#endif
#include "qemu-options.def"
#undef DEF
#undef DEFHEADING
#undef ARCHHEADING
#undef GEN_DOCS
#undef QEMU_OPTIONS_GENERATE_ENUM
#undef QEMU_OPTIONS_GENERATE_HELP
#undef QEMU_OPTIONS_GENERATE_OPTIONS