xref: /qemu/system/globals.c (revision d13f4035)
18d7f2e76SPhilippe Mathieu-Daudé /*
28d7f2e76SPhilippe Mathieu-Daudé  * Global variables that (mostly) should not exist
38d7f2e76SPhilippe Mathieu-Daudé  *
48d7f2e76SPhilippe Mathieu-Daudé  * Copyright (c) 2003-2020 QEMU contributors
58d7f2e76SPhilippe Mathieu-Daudé  *
68d7f2e76SPhilippe Mathieu-Daudé  * Permission is hereby granted, free of charge, to any person obtaining a copy
78d7f2e76SPhilippe Mathieu-Daudé  * of this software and associated documentation files (the "Software"), to deal
88d7f2e76SPhilippe Mathieu-Daudé  * in the Software without restriction, including without limitation the rights
98d7f2e76SPhilippe Mathieu-Daudé  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
108d7f2e76SPhilippe Mathieu-Daudé  * copies of the Software, and to permit persons to whom the Software is
118d7f2e76SPhilippe Mathieu-Daudé  * furnished to do so, subject to the following conditions:
128d7f2e76SPhilippe Mathieu-Daudé  *
138d7f2e76SPhilippe Mathieu-Daudé  * The above copyright notice and this permission notice shall be included in
148d7f2e76SPhilippe Mathieu-Daudé  * all copies or substantial portions of the Software.
158d7f2e76SPhilippe Mathieu-Daudé  *
168d7f2e76SPhilippe Mathieu-Daudé  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
178d7f2e76SPhilippe Mathieu-Daudé  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
188d7f2e76SPhilippe Mathieu-Daudé  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
198d7f2e76SPhilippe Mathieu-Daudé  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
208d7f2e76SPhilippe Mathieu-Daudé  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
218d7f2e76SPhilippe Mathieu-Daudé  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
228d7f2e76SPhilippe Mathieu-Daudé  * THE SOFTWARE.
238d7f2e76SPhilippe Mathieu-Daudé  */
248d7f2e76SPhilippe Mathieu-Daudé 
258d7f2e76SPhilippe Mathieu-Daudé #include "qemu/osdep.h"
268d7f2e76SPhilippe Mathieu-Daudé #include "exec/cpu-common.h"
278d7f2e76SPhilippe Mathieu-Daudé #include "hw/display/vga.h"
288d7f2e76SPhilippe Mathieu-Daudé #include "hw/loader.h"
298d7f2e76SPhilippe Mathieu-Daudé #include "hw/xen/xen.h"
308d7f2e76SPhilippe Mathieu-Daudé #include "net/net.h"
318d7f2e76SPhilippe Mathieu-Daudé #include "sysemu/cpus.h"
328d7f2e76SPhilippe Mathieu-Daudé #include "sysemu/sysemu.h"
338d7f2e76SPhilippe Mathieu-Daudé 
348d7f2e76SPhilippe Mathieu-Daudé enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
358d7f2e76SPhilippe Mathieu-Daudé int display_opengl;
368d7f2e76SPhilippe Mathieu-Daudé const char* keyboard_layout;
378d7f2e76SPhilippe Mathieu-Daudé bool enable_mlock;
388d7f2e76SPhilippe Mathieu-Daudé bool enable_cpu_pm;
398d7f2e76SPhilippe Mathieu-Daudé int autostart = 1;
408d7f2e76SPhilippe Mathieu-Daudé int vga_interface_type = VGA_NONE;
418d7f2e76SPhilippe Mathieu-Daudé bool vga_interface_created;
428d7f2e76SPhilippe Mathieu-Daudé Chardev *parallel_hds[MAX_PARALLEL_PORTS];
438d7f2e76SPhilippe Mathieu-Daudé int graphic_rotate;
448d7f2e76SPhilippe Mathieu-Daudé QEMUOptionRom option_rom[MAX_OPTION_ROMS];
458d7f2e76SPhilippe Mathieu-Daudé int nb_option_roms;
468d7f2e76SPhilippe Mathieu-Daudé int old_param;
478d7f2e76SPhilippe Mathieu-Daudé const char *qemu_name;
488d7f2e76SPhilippe Mathieu-Daudé unsigned int nb_prom_envs;
498d7f2e76SPhilippe Mathieu-Daudé const char *prom_envs[MAX_PROM_ENVS];
508d7f2e76SPhilippe Mathieu-Daudé uint8_t *boot_splash_filedata;
518d7f2e76SPhilippe Mathieu-Daudé int only_migratable; /* turn it off unless user states otherwise */
528d7f2e76SPhilippe Mathieu-Daudé int icount_align_option;
538d7f2e76SPhilippe Mathieu-Daudé 
548d7f2e76SPhilippe Mathieu-Daudé /* The bytes in qemu_uuid are in the order specified by RFC4122, _not_ in the
558d7f2e76SPhilippe Mathieu-Daudé  * little-endian "wire format" described in the SMBIOS 2.6 specification.
568d7f2e76SPhilippe Mathieu-Daudé  */
578d7f2e76SPhilippe Mathieu-Daudé QemuUUID qemu_uuid;
588d7f2e76SPhilippe Mathieu-Daudé bool qemu_uuid_set;
598d7f2e76SPhilippe Mathieu-Daudé 
608d7f2e76SPhilippe Mathieu-Daudé uint32_t xen_domid;
618d7f2e76SPhilippe Mathieu-Daudé enum xen_mode xen_mode = XEN_DISABLED;
628d7f2e76SPhilippe Mathieu-Daudé bool xen_domid_restrict;
638d7f2e76SPhilippe Mathieu-Daudé struct evtchn_backend_ops *xen_evtchn_ops;
648d7f2e76SPhilippe Mathieu-Daudé struct gnttab_backend_ops *xen_gnttab_ops;
658d7f2e76SPhilippe Mathieu-Daudé struct foreignmem_backend_ops *xen_foreignmem_ops;
668d7f2e76SPhilippe Mathieu-Daudé struct xenstore_backend_ops *xen_xenstore_ops;
67