diff mbox series

[33/36] vl: extract softmmu/globals.c

Message ID 20201123141435.2726558-34-pbonzini@redhat.com (mailing list archive)
State New, archived
Headers show
Series cleanup qemu_init and make sense of command line processing | expand

Commit Message

Paolo Bonzini Nov. 23, 2020, 2:14 p.m. UTC
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/core/machine.c         |  2 ++
 include/exec/cpu-common.h |  3 ++
 include/exec/exec-all.h   |  3 --
 softmmu/globals.c         | 74 +++++++++++++++++++++++++++++++++++++++
 softmmu/meson.build       |  1 +
 softmmu/vl.c              | 45 ++----------------------
 6 files changed, 83 insertions(+), 45 deletions(-)
 create mode 100644 softmmu/globals.c

Comments

Igor Mammedov Nov. 27, 2020, 1:19 p.m. UTC | #1
On Mon, 23 Nov 2020 09:14:32 -0500
Paolo Bonzini <pbonzini@redhat.com> wrote:

> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> ---
>  hw/core/machine.c         |  2 ++
>  include/exec/cpu-common.h |  3 ++
>  include/exec/exec-all.h   |  3 --
>  softmmu/globals.c         | 74 +++++++++++++++++++++++++++++++++++++++
>  softmmu/meson.build       |  1 +
>  softmmu/vl.c              | 45 ++----------------------
>  6 files changed, 83 insertions(+), 45 deletions(-)
>  create mode 100644 softmmu/globals.c
> 
> diff --git a/hw/core/machine.c b/hw/core/machine.c
> index 745531c9d9..5659b1f49c 100644
> --- a/hw/core/machine.c
> +++ b/hw/core/machine.c
> @@ -213,6 +213,8 @@ GlobalProperty hw_compat_2_1[] = {
>  };
>  const size_t hw_compat_2_1_len = G_N_ELEMENTS(hw_compat_2_1);
>  
> +MachineState *current_machine;
> +
>  static char *machine_get_kernel(Object *obj, Error **errp)
>  {
>      MachineState *ms = MACHINE(obj);
> diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
> index bd5e15dd7d..5a0a2d93e0 100644
> --- a/include/exec/cpu-common.h
> +++ b/include/exec/cpu-common.h
> @@ -105,4 +105,7 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length);
>  
>  #endif
>  
> +/* vl.c */
> +extern int singlestep;
> +
>  #endif /* CPU_COMMON_H */
> diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
> index 94fe05daaa..fab573da06 100644
> --- a/include/exec/exec-all.h
> +++ b/include/exec/exec-all.h
> @@ -676,7 +676,4 @@ hwaddr memory_region_section_get_iotlb(CPUState *cpu,
>                                         MemoryRegionSection *section);
>  #endif
>  
> -/* vl.c */
> -extern int singlestep;
> -
>  #endif
> diff --git a/softmmu/globals.c b/softmmu/globals.c
> new file mode 100644
> index 0000000000..e62d9cd8da
> --- /dev/null
> +++ b/softmmu/globals.c
> @@ -0,0 +1,74 @@
> +/*
> + * Global variables that (mostly) should not exist
> + *
> + * Copyright (c) 2003-2020 QEMU contributors
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to deal
> + * in the Software without restriction, including without limitation the rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
> + * THE SOFTWARE.
> + */
> +
> +#include "qemu/osdep.h"
> +#include "exec/cpu-common.h"
> +#include "hw/display/vga.h"
> +#include "hw/i386/pc.h"
> +#include "hw/i386/x86.h"
> +#include "hw/loader.h"
> +#include "hw/xen/xen.h"
> +#include "net/net.h"
> +#include "sysemu/cpus.h"
> +#include "sysemu/sysemu.h"
> +
> +enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
> +int display_opengl;
> +const char* keyboard_layout;
> +bool enable_mlock;
> +bool enable_cpu_pm;
> +int nb_nics;
> +NICInfo nd_table[MAX_NICS];
> +int autostart = 1;
> +int vga_interface_type = VGA_NONE;
> +Chardev *parallel_hds[MAX_PARALLEL_PORTS];
> +int win2k_install_hack;
> +int singlestep;
> +int fd_bootchk = 1;
> +int no_reboot;
> +int no_shutdown;
> +int graphic_rotate;
> +QEMUOptionRom option_rom[MAX_OPTION_ROMS];
> +int nb_option_roms;
> +int old_param;
> +const char *qemu_name;
> +int alt_grab;
> +int ctrl_grab;
> +unsigned int nb_prom_envs;
> +const char *prom_envs[MAX_PROM_ENVS];
> +int boot_menu;
> +bool boot_strict;
> +uint8_t *boot_splash_filedata;
> +int only_migratable; /* turn it off unless user states otherwise */
> +int icount_align_option;
> +
> +/* The bytes in qemu_uuid are in the order specified by RFC4122, _not_ in the
> + * little-endian "wire format" described in the SMBIOS 2.6 specification.
> + */
> +QemuUUID qemu_uuid;
> +bool qemu_uuid_set;
> +
> +uint32_t xen_domid;
> +enum xen_mode xen_mode = XEN_EMULATE;
> +bool xen_domid_restrict;
> diff --git a/softmmu/meson.build b/softmmu/meson.build
> index 2a73ebc223..e5865b97cb 100644
> --- a/softmmu/meson.build
> +++ b/softmmu/meson.build
> @@ -4,6 +4,7 @@ specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: [files(
>    'cpus.c',
>    'cpu-throttle.c',
>    'datadir.c',
> +  'globals.c',
>    'physmem.c',
>    'ioport.c',
>    'rtc.c',
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index 914b86ee86..fce15c249a 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -26,6 +26,7 @@
>  #include "qemu-common.h"
>  #include "qemu/datadir.h"
>  #include "qemu/units.h"
> +#include "exec/cpu-common.h"
>  #include "hw/boards.h"
>  #include "hw/qdev-properties.h"
>  #include "qapi/error.h"
> @@ -67,6 +68,8 @@
>  #include "qemu/log.h"
>  #include "sysemu/blockdev.h"
>  #include "hw/block/block.h"
> +#include "hw/i386/x86.h"
> +#include "hw/i386/pc.h"
>  #include "migration/misc.h"
>  #include "migration/snapshot.h"
>  #include "migration/global_state.h"
> @@ -141,17 +144,8 @@ static bool preconfig_requested;
>  static QemuPluginList plugin_list = QTAILQ_HEAD_INITIALIZER(plugin_list);
>  static BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
>  static bool nographic = false;
> -enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
>  static int mem_prealloc; /* force preallocation of physical target memory */
> -int display_opengl;
> -const char* keyboard_layout = NULL;
>  static ram_addr_t ram_size;
> -bool enable_mlock = false;
> -bool enable_cpu_pm = false;
> -int nb_nics;
> -NICInfo nd_table[MAX_NICS];
> -int autostart = 1;
> -int vga_interface_type = VGA_NONE;
>  static const char *vga_model = NULL;
>  static DisplayOptions dpy;
>  static int num_serial_hds;
> @@ -159,41 +153,10 @@ static Chardev **serial_hds;
>  static const char *log_mask;
>  static const char *log_file;
>  static bool list_data_dirs;
> -Chardev *parallel_hds[MAX_PARALLEL_PORTS];
> -int win2k_install_hack = 0;
> -int singlestep = 0;
> -int fd_bootchk = 1;
> -int no_reboot;
> -int no_shutdown = 0;
> -int graphic_rotate = 0;
>  static const char *watchdog;
> -QEMUOptionRom option_rom[MAX_OPTION_ROMS];
> -int nb_option_roms;
> -int old_param = 0;
> -const char *qemu_name;
> -int alt_grab = 0;
> -int ctrl_grab = 0;
> -unsigned int nb_prom_envs = 0;
> -const char *prom_envs[MAX_PROM_ENVS];
> -int boot_menu;
> -bool boot_strict;
> -uint8_t *boot_splash_filedata;
> -int only_migratable; /* turn it off unless user states otherwise */
> -bool wakeup_suspend_enabled;
> -int icount_align_option;
>  static const char *qtest_chrdev;
>  static const char *qtest_log;
>  
> -/* The bytes in qemu_uuid are in the order specified by RFC4122, _not_ in the
> - * little-endian "wire format" described in the SMBIOS 2.6 specification.
> - */
> -QemuUUID qemu_uuid;
> -bool qemu_uuid_set;
> -
> -uint32_t xen_domid;
> -enum xen_mode xen_mode = XEN_EMULATE;
> -bool xen_domid_restrict;
> -
>  static int has_defaults = 1;
>  static int default_serial = 1;
>  static int default_parallel = 1;
> @@ -801,8 +764,6 @@ static int usb_parse(const char *cmdline)
>  /***********************************************************/
>  /* machine registration */
>  
> -MachineState *current_machine;
> -
>  static MachineClass *find_machine(const char *name, GSList *machines)
>  {
>      GSList *el;
diff mbox series

Patch

diff --git a/hw/core/machine.c b/hw/core/machine.c
index 745531c9d9..5659b1f49c 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -213,6 +213,8 @@  GlobalProperty hw_compat_2_1[] = {
 };
 const size_t hw_compat_2_1_len = G_N_ELEMENTS(hw_compat_2_1);
 
+MachineState *current_machine;
+
 static char *machine_get_kernel(Object *obj, Error **errp)
 {
     MachineState *ms = MACHINE(obj);
diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
index bd5e15dd7d..5a0a2d93e0 100644
--- a/include/exec/cpu-common.h
+++ b/include/exec/cpu-common.h
@@ -105,4 +105,7 @@  int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length);
 
 #endif
 
+/* vl.c */
+extern int singlestep;
+
 #endif /* CPU_COMMON_H */
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index 94fe05daaa..fab573da06 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -676,7 +676,4 @@  hwaddr memory_region_section_get_iotlb(CPUState *cpu,
                                        MemoryRegionSection *section);
 #endif
 
-/* vl.c */
-extern int singlestep;
-
 #endif
diff --git a/softmmu/globals.c b/softmmu/globals.c
new file mode 100644
index 0000000000..e62d9cd8da
--- /dev/null
+++ b/softmmu/globals.c
@@ -0,0 +1,74 @@ 
+/*
+ * Global variables that (mostly) should not exist
+ *
+ * Copyright (c) 2003-2020 QEMU contributors
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include "qemu/osdep.h"
+#include "exec/cpu-common.h"
+#include "hw/display/vga.h"
+#include "hw/i386/pc.h"
+#include "hw/i386/x86.h"
+#include "hw/loader.h"
+#include "hw/xen/xen.h"
+#include "net/net.h"
+#include "sysemu/cpus.h"
+#include "sysemu/sysemu.h"
+
+enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
+int display_opengl;
+const char* keyboard_layout;
+bool enable_mlock;
+bool enable_cpu_pm;
+int nb_nics;
+NICInfo nd_table[MAX_NICS];
+int autostart = 1;
+int vga_interface_type = VGA_NONE;
+Chardev *parallel_hds[MAX_PARALLEL_PORTS];
+int win2k_install_hack;
+int singlestep;
+int fd_bootchk = 1;
+int no_reboot;
+int no_shutdown;
+int graphic_rotate;
+QEMUOptionRom option_rom[MAX_OPTION_ROMS];
+int nb_option_roms;
+int old_param;
+const char *qemu_name;
+int alt_grab;
+int ctrl_grab;
+unsigned int nb_prom_envs;
+const char *prom_envs[MAX_PROM_ENVS];
+int boot_menu;
+bool boot_strict;
+uint8_t *boot_splash_filedata;
+int only_migratable; /* turn it off unless user states otherwise */
+int icount_align_option;
+
+/* The bytes in qemu_uuid are in the order specified by RFC4122, _not_ in the
+ * little-endian "wire format" described in the SMBIOS 2.6 specification.
+ */
+QemuUUID qemu_uuid;
+bool qemu_uuid_set;
+
+uint32_t xen_domid;
+enum xen_mode xen_mode = XEN_EMULATE;
+bool xen_domid_restrict;
diff --git a/softmmu/meson.build b/softmmu/meson.build
index 2a73ebc223..e5865b97cb 100644
--- a/softmmu/meson.build
+++ b/softmmu/meson.build
@@ -4,6 +4,7 @@  specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: [files(
   'cpus.c',
   'cpu-throttle.c',
   'datadir.c',
+  'globals.c',
   'physmem.c',
   'ioport.c',
   'rtc.c',
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 914b86ee86..fce15c249a 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -26,6 +26,7 @@ 
 #include "qemu-common.h"
 #include "qemu/datadir.h"
 #include "qemu/units.h"
+#include "exec/cpu-common.h"
 #include "hw/boards.h"
 #include "hw/qdev-properties.h"
 #include "qapi/error.h"
@@ -67,6 +68,8 @@ 
 #include "qemu/log.h"
 #include "sysemu/blockdev.h"
 #include "hw/block/block.h"
+#include "hw/i386/x86.h"
+#include "hw/i386/pc.h"
 #include "migration/misc.h"
 #include "migration/snapshot.h"
 #include "migration/global_state.h"
@@ -141,17 +144,8 @@  static bool preconfig_requested;
 static QemuPluginList plugin_list = QTAILQ_HEAD_INITIALIZER(plugin_list);
 static BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
 static bool nographic = false;
-enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
 static int mem_prealloc; /* force preallocation of physical target memory */
-int display_opengl;
-const char* keyboard_layout = NULL;
 static ram_addr_t ram_size;
-bool enable_mlock = false;
-bool enable_cpu_pm = false;
-int nb_nics;
-NICInfo nd_table[MAX_NICS];
-int autostart = 1;
-int vga_interface_type = VGA_NONE;
 static const char *vga_model = NULL;
 static DisplayOptions dpy;
 static int num_serial_hds;
@@ -159,41 +153,10 @@  static Chardev **serial_hds;
 static const char *log_mask;
 static const char *log_file;
 static bool list_data_dirs;
-Chardev *parallel_hds[MAX_PARALLEL_PORTS];
-int win2k_install_hack = 0;
-int singlestep = 0;
-int fd_bootchk = 1;
-int no_reboot;
-int no_shutdown = 0;
-int graphic_rotate = 0;
 static const char *watchdog;
-QEMUOptionRom option_rom[MAX_OPTION_ROMS];
-int nb_option_roms;
-int old_param = 0;
-const char *qemu_name;
-int alt_grab = 0;
-int ctrl_grab = 0;
-unsigned int nb_prom_envs = 0;
-const char *prom_envs[MAX_PROM_ENVS];
-int boot_menu;
-bool boot_strict;
-uint8_t *boot_splash_filedata;
-int only_migratable; /* turn it off unless user states otherwise */
-bool wakeup_suspend_enabled;
-int icount_align_option;
 static const char *qtest_chrdev;
 static const char *qtest_log;
 
-/* The bytes in qemu_uuid are in the order specified by RFC4122, _not_ in the
- * little-endian "wire format" described in the SMBIOS 2.6 specification.
- */
-QemuUUID qemu_uuid;
-bool qemu_uuid_set;
-
-uint32_t xen_domid;
-enum xen_mode xen_mode = XEN_EMULATE;
-bool xen_domid_restrict;
-
 static int has_defaults = 1;
 static int default_serial = 1;
 static int default_parallel = 1;
@@ -801,8 +764,6 @@  static int usb_parse(const char *cmdline)
 /***********************************************************/
 /* machine registration */
 
-MachineState *current_machine;
-
 static MachineClass *find_machine(const char *name, GSList *machines)
 {
     GSList *el;