mirror of https://gitee.com/openkylin/qemu.git
implement -no-user-config command-line option (v3)
Changes v2 -> v3: - Rebase against latest qemu.git Changes v1 -> v2: - Change 'userconfig' field/variables to bool instead of int - Coding style change Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
3ed2d9ee1f
commit
f29a56147b
11
arch_init.c
11
arch_init.c
|
@ -114,19 +114,24 @@ const uint32_t arch_type = QEMU_ARCH;
|
|||
|
||||
static struct defconfig_file {
|
||||
const char *filename;
|
||||
/* Indicates it is an user config file (disabled by -no-user-config) */
|
||||
bool userconfig;
|
||||
} default_config_files[] = {
|
||||
{ CONFIG_QEMU_CONFDIR "/qemu.conf" },
|
||||
{ CONFIG_QEMU_CONFDIR "/target-" TARGET_ARCH ".conf" },
|
||||
{ CONFIG_QEMU_CONFDIR "/qemu.conf", true },
|
||||
{ CONFIG_QEMU_CONFDIR "/target-" TARGET_ARCH ".conf", true },
|
||||
{ NULL }, /* end of list */
|
||||
};
|
||||
|
||||
|
||||
int qemu_read_default_config_files(void)
|
||||
int qemu_read_default_config_files(bool userconfig)
|
||||
{
|
||||
int ret;
|
||||
struct defconfig_file *f;
|
||||
|
||||
for (f = default_config_files; f->filename; f++) {
|
||||
if (!userconfig && f->userconfig) {
|
||||
continue;
|
||||
}
|
||||
ret = qemu_read_config_file(f->filename);
|
||||
if (ret < 0 && ret != -ENOENT) {
|
||||
return ret;
|
||||
|
|
|
@ -18,6 +18,6 @@ int qemu_read_config_file(const char *filename);
|
|||
|
||||
/* Read default Qemu config files
|
||||
*/
|
||||
int qemu_read_default_config_files(void);
|
||||
int qemu_read_default_config_files(bool userconfig);
|
||||
|
||||
#endif /* QEMU_CONFIG_H */
|
||||
|
|
|
@ -2685,9 +2685,19 @@ DEF("nodefconfig", 0, QEMU_OPTION_nodefconfig,
|
|||
STEXI
|
||||
@item -nodefconfig
|
||||
@findex -nodefconfig
|
||||
Normally QEMU loads a configuration file from @var{sysconfdir}/qemu.conf and
|
||||
@var{sysconfdir}/target-@var{ARCH}.conf on startup. The @code{-nodefconfig}
|
||||
option will prevent QEMU from loading these configuration files at startup.
|
||||
Normally QEMU loads configuration files from @var{sysconfdir} and @var{datadir} at startup.
|
||||
The @code{-nodefconfig} option will prevent QEMU from loading any of those config files.
|
||||
ETEXI
|
||||
DEF("no-user-config", 0, QEMU_OPTION_nouserconfig,
|
||||
"-no-user-config\n"
|
||||
" do not load user-provided config files at startup\n",
|
||||
QEMU_ARCH_ALL)
|
||||
STEXI
|
||||
@item -no-user-config
|
||||
@findex -no-user-config
|
||||
The @code{-no-user-config} option makes QEMU not load any of the user-provided
|
||||
config files on @var{sysconfdir}, but won't make it skip the QEMU-provided config
|
||||
files from @var{datadir}.
|
||||
ETEXI
|
||||
DEF("trace", HAS_ARG, QEMU_OPTION_trace,
|
||||
"-trace [events=<file>][,file=<file>]\n"
|
||||
|
|
6
vl.c
6
vl.c
|
@ -2284,6 +2284,7 @@ int main(int argc, char **argv, char **envp)
|
|||
int show_vnc_port = 0;
|
||||
#endif
|
||||
bool defconfig = true;
|
||||
bool userconfig = true;
|
||||
const char *log_mask = NULL;
|
||||
const char *log_file = NULL;
|
||||
GMemVTable mem_trace = {
|
||||
|
@ -2352,13 +2353,16 @@ int main(int argc, char **argv, char **envp)
|
|||
case QEMU_OPTION_nodefconfig:
|
||||
defconfig = false;
|
||||
break;
|
||||
case QEMU_OPTION_nouserconfig:
|
||||
userconfig = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (defconfig) {
|
||||
int ret;
|
||||
ret = qemu_read_default_config_files();
|
||||
ret = qemu_read_default_config_files(userconfig);
|
||||
if (ret < 0) {
|
||||
exit(1);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue