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 {
|
static struct defconfig_file {
|
||||||
const char *filename;
|
const char *filename;
|
||||||
|
/* Indicates it is an user config file (disabled by -no-user-config) */
|
||||||
|
bool userconfig;
|
||||||
} default_config_files[] = {
|
} default_config_files[] = {
|
||||||
{ CONFIG_QEMU_CONFDIR "/qemu.conf" },
|
{ CONFIG_QEMU_CONFDIR "/qemu.conf", true },
|
||||||
{ CONFIG_QEMU_CONFDIR "/target-" TARGET_ARCH ".conf" },
|
{ CONFIG_QEMU_CONFDIR "/target-" TARGET_ARCH ".conf", true },
|
||||||
{ NULL }, /* end of list */
|
{ NULL }, /* end of list */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
int qemu_read_default_config_files(void)
|
int qemu_read_default_config_files(bool userconfig)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct defconfig_file *f;
|
struct defconfig_file *f;
|
||||||
|
|
||||||
for (f = default_config_files; f->filename; f++) {
|
for (f = default_config_files; f->filename; f++) {
|
||||||
|
if (!userconfig && f->userconfig) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
ret = qemu_read_config_file(f->filename);
|
ret = qemu_read_config_file(f->filename);
|
||||||
if (ret < 0 && ret != -ENOENT) {
|
if (ret < 0 && ret != -ENOENT) {
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -18,6 +18,6 @@ int qemu_read_config_file(const char *filename);
|
||||||
|
|
||||||
/* Read default Qemu config files
|
/* Read default Qemu config files
|
||||||
*/
|
*/
|
||||||
int qemu_read_default_config_files(void);
|
int qemu_read_default_config_files(bool userconfig);
|
||||||
|
|
||||||
#endif /* QEMU_CONFIG_H */
|
#endif /* QEMU_CONFIG_H */
|
||||||
|
|
|
@ -2685,9 +2685,19 @@ DEF("nodefconfig", 0, QEMU_OPTION_nodefconfig,
|
||||||
STEXI
|
STEXI
|
||||||
@item -nodefconfig
|
@item -nodefconfig
|
||||||
@findex -nodefconfig
|
@findex -nodefconfig
|
||||||
Normally QEMU loads a configuration file from @var{sysconfdir}/qemu.conf and
|
Normally QEMU loads configuration files from @var{sysconfdir} and @var{datadir} at startup.
|
||||||
@var{sysconfdir}/target-@var{ARCH}.conf on startup. The @code{-nodefconfig}
|
The @code{-nodefconfig} option will prevent QEMU from loading any of those config files.
|
||||||
option will prevent QEMU from loading these configuration files at startup.
|
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
|
ETEXI
|
||||||
DEF("trace", HAS_ARG, QEMU_OPTION_trace,
|
DEF("trace", HAS_ARG, QEMU_OPTION_trace,
|
||||||
"-trace [events=<file>][,file=<file>]\n"
|
"-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;
|
int show_vnc_port = 0;
|
||||||
#endif
|
#endif
|
||||||
bool defconfig = true;
|
bool defconfig = true;
|
||||||
|
bool userconfig = true;
|
||||||
const char *log_mask = NULL;
|
const char *log_mask = NULL;
|
||||||
const char *log_file = NULL;
|
const char *log_file = NULL;
|
||||||
GMemVTable mem_trace = {
|
GMemVTable mem_trace = {
|
||||||
|
@ -2352,13 +2353,16 @@ int main(int argc, char **argv, char **envp)
|
||||||
case QEMU_OPTION_nodefconfig:
|
case QEMU_OPTION_nodefconfig:
|
||||||
defconfig = false;
|
defconfig = false;
|
||||||
break;
|
break;
|
||||||
|
case QEMU_OPTION_nouserconfig:
|
||||||
|
userconfig = false;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (defconfig) {
|
if (defconfig) {
|
||||||
int ret;
|
int ret;
|
||||||
ret = qemu_read_default_config_files();
|
ret = qemu_read_default_config_files(userconfig);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue