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>
This commit is contained in:
parent
77bd1119ba
commit
a3adb7ad3b
@ -4,18 +4,26 @@
|
|||||||
#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \
|
#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \
|
||||||
opt_enum,
|
opt_enum,
|
||||||
#define DEFHEADING(text)
|
#define DEFHEADING(text)
|
||||||
|
#define ARCHHEADING(text, arch_mask)
|
||||||
|
|
||||||
#elif defined(QEMU_OPTIONS_GENERATE_HELP)
|
#elif defined(QEMU_OPTIONS_GENERATE_HELP)
|
||||||
|
|
||||||
#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \
|
#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \
|
||||||
opt_help
|
if ((arch_mask) & arch_type) \
|
||||||
#define DEFHEADING(text) stringify(text) "\n"
|
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)
|
#elif defined(QEMU_OPTIONS_GENERATE_OPTIONS)
|
||||||
|
|
||||||
#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \
|
#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \
|
||||||
{ option, opt_arg, opt_enum, arch_mask },
|
{ option, opt_arg, opt_enum, arch_mask },
|
||||||
#define DEFHEADING(text)
|
#define DEFHEADING(text)
|
||||||
|
#define ARCHHEADING(text, arch_mask)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#error "qemu-options-wrapper.h included with no option defined"
|
#error "qemu-options-wrapper.h included with no option defined"
|
||||||
@ -25,6 +33,7 @@
|
|||||||
|
|
||||||
#undef DEF
|
#undef DEF
|
||||||
#undef DEFHEADING
|
#undef DEFHEADING
|
||||||
|
#undef ARCHHEADING
|
||||||
#undef GEN_DOCS
|
#undef GEN_DOCS
|
||||||
|
|
||||||
#undef QEMU_OPTIONS_GENERATE_ENUM
|
#undef QEMU_OPTIONS_GENERATE_ENUM
|
||||||
|
@ -1070,9 +1070,9 @@ STEXI
|
|||||||
@end table
|
@end table
|
||||||
ETEXI
|
ETEXI
|
||||||
|
|
||||||
DEFHEADING()
|
ARCHHEADING(, QEMU_ARCH_I386)
|
||||||
|
|
||||||
DEFHEADING(i386 target only:)
|
ARCHHEADING(i386 target only:, QEMU_ARCH_I386)
|
||||||
STEXI
|
STEXI
|
||||||
@table @option
|
@table @option
|
||||||
ETEXI
|
ETEXI
|
||||||
|
@ -47,6 +47,9 @@ hxtotexi()
|
|||||||
DEFHEADING*)
|
DEFHEADING*)
|
||||||
echo "$(expr "$str" : "DEFHEADING(\(.*\))")"
|
echo "$(expr "$str" : "DEFHEADING(\(.*\))")"
|
||||||
;;
|
;;
|
||||||
|
ARCHHEADING*)
|
||||||
|
echo "$(expr "$str" : "ARCHHEADING(\(.*\),.*)")"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
test $flag -eq 1 && echo "$str"
|
test $flag -eq 1 && echo "$str"
|
||||||
;;
|
;;
|
||||||
|
21
vl.c
21
vl.c
@ -1492,24 +1492,21 @@ static void version(void)
|
|||||||
|
|
||||||
static void help(int exitcode)
|
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
|
#define QEMU_OPTIONS_GENERATE_HELP
|
||||||
#include "qemu-options-wrapper.h"
|
#include "qemu-options-wrapper.h"
|
||||||
;
|
|
||||||
version();
|
printf("\nDuring emulation, the following keys are useful:\n"
|
||||||
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"
|
|
||||||
"ctrl-alt-f toggle full screen\n"
|
"ctrl-alt-f toggle full screen\n"
|
||||||
"ctrl-alt-n switch to virtual console 'n'\n"
|
"ctrl-alt-n switch to virtual console 'n'\n"
|
||||||
"ctrl-alt toggle mouse and keyboard grab\n"
|
"ctrl-alt toggle mouse and keyboard grab\n"
|
||||||
"\n"
|
"\n"
|
||||||
"When using -nographic, press 'ctrl-a h' to get some help.\n",
|
"When using -nographic, press 'ctrl-a h' to get some help.\n");
|
||||||
error_get_progname(),
|
|
||||||
options_help);
|
|
||||||
exit(exitcode);
|
exit(exitcode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user