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é QEMUOptionRom option_rom[MAX_OPTION_ROMS]; 448d7f2e76SPhilippe Mathieu-Daudé int nb_option_roms; 458d7f2e76SPhilippe Mathieu-Daudé int old_param; 468d7f2e76SPhilippe Mathieu-Daudé const char *qemu_name; 478d7f2e76SPhilippe Mathieu-Daudé unsigned int nb_prom_envs; 488d7f2e76SPhilippe Mathieu-Daudé const char *prom_envs[MAX_PROM_ENVS]; 498d7f2e76SPhilippe Mathieu-Daudé uint8_t *boot_splash_filedata; 508d7f2e76SPhilippe Mathieu-Daudé int only_migratable; /* turn it off unless user states otherwise */ 518d7f2e76SPhilippe Mathieu-Daudé int icount_align_option; 528d7f2e76SPhilippe Mathieu-Daudé 538d7f2e76SPhilippe Mathieu-Daudé /* The bytes in qemu_uuid are in the order specified by RFC4122, _not_ in the 548d7f2e76SPhilippe Mathieu-Daudé * little-endian "wire format" described in the SMBIOS 2.6 specification. 558d7f2e76SPhilippe Mathieu-Daudé */ 568d7f2e76SPhilippe Mathieu-Daudé QemuUUID qemu_uuid; 578d7f2e76SPhilippe Mathieu-Daudé bool qemu_uuid_set; 588d7f2e76SPhilippe Mathieu-Daudé 598d7f2e76SPhilippe Mathieu-Daudé uint32_t xen_domid; 608d7f2e76SPhilippe Mathieu-Daudé enum xen_mode xen_mode = XEN_DISABLED; 618d7f2e76SPhilippe Mathieu-Daudé bool xen_domid_restrict; 62*b2bbadc6SMarek Marczykowski-Górecki bool xen_is_stubdomain; 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