aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch_init.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/arch_init.c b/arch_init.c
index 152cbbbb63..62332e9ff0 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -112,20 +112,27 @@ const uint32_t arch_type = QEMU_ARCH;
#endif
+static struct defconfig_file {
+ const char *filename;
+} default_config_files[] = {
+ { CONFIG_QEMU_CONFDIR "/qemu.conf" },
+ { CONFIG_QEMU_CONFDIR "/target-" TARGET_ARCH ".conf" },
+ { NULL }, /* end of list */
+};
+
+
int qemu_read_default_config_files(void)
{
int ret;
-
- ret = qemu_read_config_file(CONFIG_QEMU_CONFDIR "/qemu.conf");
- if (ret < 0 && ret != -ENOENT) {
- return ret;
- }
+ struct defconfig_file *f;
- ret = qemu_read_config_file(CONFIG_QEMU_CONFDIR "/target-" TARGET_ARCH ".conf");
- if (ret < 0 && ret != -ENOENT) {
- return ret;
+ for (f = default_config_files; f->filename; f++) {
+ ret = qemu_read_config_file(f->filename);
+ if (ret < 0 && ret != -ENOENT) {
+ return ret;
+ }
}
-
+
return 0;
}