Lines Matching +full:cross +full:- +full:i386 +full:- +full:user

4  * Copyright (c) 2003-2004 Fabrice Bellard
28 #include "hw/i386/pc.h"
29 #include "hw/char/serial-isa.h"
31 #include "hw/hyperv/hv-balloon.h"
32 #include "hw/i386/fw_cfg.h"
33 #include "hw/i386/vmport.h"
35 #include "hw/ide/ide-bus.h"
50 #include "qemu/error-report.h"
52 #include "acpi-build.h"
56 #include "hw/i386/intel_iommu.h"
57 #include "hw/net/ne2000-isa.h"
58 #include "hw/virtio/virtio-iommu.h"
59 #include "hw/virtio/virtio-md-pci.h"
60 #include "hw/i386/kvm/xen_overlay.h"
61 #include "hw/i386/kvm/xen_evtchn.h"
62 #include "hw/i386/kvm/xen_gnttab.h"
63 #include "hw/i386/kvm/xen_xenstore.h"
64 #include "hw/mem/memory-device.h"
71 #include "hw/xen/xen-legacy-backend.h"
72 #include "hw/xen/xen-bus.h"
76 * Helper for setting model-id for CPU models that changed model-id
80 { "qemu32-" TYPE_X86_CPU, "model-id", "QEMU Virtual CPU version " v, },\
81 { "qemu64-" TYPE_X86_CPU, "model-id", "QEMU Virtual CPU version " v, },\
82 { "athlon-" TYPE_X86_CPU, "model-id", "QEMU Virtual CPU version " v, },
91 { "ICH9-LPC", "x-smi-swsmi-timer", "off" },
92 { "ICH9-LPC", "x-smi-periodic-timer", "off" },
93 { TYPE_INTEL_IOMMU_DEVICE, "stale-tm", "on" },
94 { TYPE_INTEL_IOMMU_DEVICE, "aw-bits", "39" },
99 { TYPE_X86_CPU, "x-amd-topoext-features-only", "false" },
100 { TYPE_X86_CPU, "x-l1-cache-per-thread", "false" },
101 { TYPE_X86_CPU, "guest-phys-bits", "0" },
102 { "sev-guest", "legacy-vm-type", "on" },
103 { TYPE_X86_CPU, "legacy-multi-node", "on" },
114 { "virtio-mem", "unplugged-inaccessible", "auto" },
119 { "ICH9-LPC", "noreboot", "true" },
130 { "virtio-mem", "unplugged-inaccessible", "off" },
135 { TYPE_X86_CPU, "hv-version-id-build", "0x1bbc" },
136 { TYPE_X86_CPU, "hv-version-id-major", "0x0006" },
137 { TYPE_X86_CPU, "hv-version-id-minor", "0x0001" },
138 { "ICH9-LPC", "x-keep-pci-slot-hpc", "false" },
143 { "qemu64" "-" TYPE_X86_CPU, "family", "6" },
144 { "qemu64" "-" TYPE_X86_CPU, "model", "6" },
145 { "qemu64" "-" TYPE_X86_CPU, "stepping", "3" },
146 { TYPE_X86_CPU, "x-vendor-cpuid-only", "off" },
147 { "ICH9-LPC", ACPI_PM_PROP_ACPI_PCIHP_BRIDGE, "off" },
148 { "ICH9-LPC", "x-keep-pci-slot-hpc", "true" },
153 { "ICH9-LPC", "x-smi-cpu-hotunplug", "off" },
158 { "ICH9-LPC", "x-smi-cpu-hotplug", "off" },
159 { TYPE_X86_CPU, "kvm-msi-ext-dest-id", "off" },
168 { "mch", "smbase-smram", "off" },
179 { "intel-iommu", "dma-drain", "off" },
180 { "Opteron_G3" "-" TYPE_X86_CPU, "rdtscp", "off" },
181 { "Opteron_G4" "-" TYPE_X86_CPU, "rdtscp", "off" },
182 { "Opteron_G4" "-" TYPE_X86_CPU, "npt", "off" },
183 { "Opteron_G4" "-" TYPE_X86_CPU, "nrip-save", "off" },
184 { "Opteron_G5" "-" TYPE_X86_CPU, "rdtscp", "off" },
185 { "Opteron_G5" "-" TYPE_X86_CPU, "npt", "off" },
186 { "Opteron_G5" "-" TYPE_X86_CPU, "nrip-save", "off" },
187 { "EPYC" "-" TYPE_X86_CPU, "npt", "off" },
188 { "EPYC" "-" TYPE_X86_CPU, "nrip-save", "off" },
189 { "EPYC-IBPB" "-" TYPE_X86_CPU, "npt", "off" },
190 { "EPYC-IBPB" "-" TYPE_X86_CPU, "nrip-save", "off" },
191 { "Skylake-Client" "-" TYPE_X86_CPU, "mpx", "on" },
192 { "Skylake-Client-IBRS" "-" TYPE_X86_CPU, "mpx", "on" },
193 { "Skylake-Server" "-" TYPE_X86_CPU, "mpx", "on" },
194 { "Skylake-Server-IBRS" "-" TYPE_X86_CPU, "mpx", "on" },
195 { "Cascadelake-Server" "-" TYPE_X86_CPU, "mpx", "on" },
196 { "Icelake-Client" "-" TYPE_X86_CPU, "mpx", "on" },
197 { "Icelake-Server" "-" TYPE_X86_CPU, "mpx", "on" },
198 { "Cascadelake-Server" "-" TYPE_X86_CPU, "stepping", "5" },
199 { TYPE_X86_CPU, "x-intel-pt-auto-level", "off" },
204 { TYPE_X86_CPU, "x-hv-synic-kvm-only", "on" },
205 { "Skylake-Server" "-" TYPE_X86_CPU, "pku", "off" },
206 { "Skylake-Server-IBRS" "-" TYPE_X86_CPU, "pku", "off" },
211 { TYPE_X86_CPU, "legacy-cache", "on" },
213 { "EPYC-" TYPE_X86_CPU, "xlevel", "0x8000000a" },
214 { "EPYC-IBPB-" TYPE_X86_CPU, "xlevel", "0x8000000a" },
219 { TYPE_X86_CPU, "x-migrate-smi-count", "off" },
220 { "Skylake-Server" "-" TYPE_X86_CPU, "clflushopt", "off" },
225 { TYPE_X86_CPU, "x-hv-max-vps", "0x40" },
226 { "i440FX-pcihost", "x-pci-hole64-fix", "off" },
227 { "q35-pcihost", "x-pci-hole64-fix", "off" },
232 { "mch", "extended-tseg-mbytes", "0" },
237 { TYPE_X86_CPU, "tcg-cpuid", "off" },
238 { "kvmclock", "x-mach-use-reliable-get-clock", "off" },
239 { "ICH9-LPC", "x-smi-broadcast", "off" },
240 { TYPE_X86_CPU, "vmware-cpuid-freq", "off" },
241 { "Haswell-" TYPE_X86_CPU, "stepping", "1" },
246 { TYPE_X86_CPU, "l3-cache", "off" },
247 { TYPE_X86_CPU, "full-cpuid-auto-level", "off" },
248 { "Opteron_G3" "-" TYPE_X86_CPU, "family", "15" },
249 { "Opteron_G3" "-" TYPE_X86_CPU, "model", "6" },
250 { "Opteron_G3" "-" TYPE_X86_CPU, "stepping", "1" },
251 { "isa-pcspk", "migrate", "off" },
256 { TYPE_X86_CPU, "cpuid-0xb", "off" },
258 { TYPE_X86_CPU, "fill-mtrr-mask", "off" },
259 { "apic-common", "legacy-instance-id", "on", }
296 /* MS-DOS compatibility mode FPU exception support */
339 return 0x03; /* CD-ROM boot */ in boot_device2nibble()
367 mc146818rtc_set_cmos_data(s, 0x38, (bds[2] << 4) | !pcms->fd_bootchk); in set_boot_dev()
375 set_boot_dev(pcms, MC146818_RTC(x86ms->rtc), boot_device, errp); in pc_boot_set()
441 if (state->floppy) { in check_fdc()
442 state->multiple = true; in check_fdc()
444 state->floppy = ISA_DEVICE(obj); in check_fdc()
450 "unattached", "peripheral", "peripheral-anon"
481 MC146818RtcState *s = MC146818_RTC(x86ms->rtc); in pc_cmos_init_late()
488 if (pcms->idebus[0] && in pc_cmos_init_late()
489 ide_get_geometry(pcms->idebus[0], 0, in pc_cmos_init_late()
494 if (pcms->idebus[0] && in pc_cmos_init_late()
495 ide_get_geometry(pcms->idebus[0], 1, in pc_cmos_init_late()
508 BusState *idebus = pcms->idebus[i / 2]; in pc_cmos_init_late()
512 trans = ide_get_bios_chs_trans(idebus, i % 2) - 1; in pc_cmos_init_late()
525 val = MIN(x86ms->below_4g_mem_size / KiB, 640); in pc_cmos_init_late()
529 if (x86ms->below_4g_mem_size > 1 * MiB) { in pc_cmos_init_late()
530 val = (x86ms->below_4g_mem_size - 1 * MiB) / KiB; in pc_cmos_init_late()
541 if (x86ms->below_4g_mem_size > 16 * MiB) { in pc_cmos_init_late()
542 val = (x86ms->below_4g_mem_size - 16 * MiB) / (64 * KiB); in pc_cmos_init_late()
551 val = x86ms->above_4g_mem_size / 65536; in pc_cmos_init_late()
608 cxl_hook_up_pxb_registers(pcms->pcibus, &pcms->cxl_devices_state, in pc_machine_done()
611 if (pcms->cxl_devices_state.is_enabled) { in pc_machine_done()
612 cxl_fmws_link_targets(&pcms->cxl_devices_state, &error_fatal); in pc_machine_done()
616 x86_rtc_set_cpus_count(x86ms->rtc, x86ms->boot_cpus); in pc_machine_done()
618 pci_bus_add_fw_cfg_extra_pci_roots(x86ms->fw_cfg, pcms->pcibus, in pc_machine_done()
622 if (x86ms->fw_cfg) { in pc_machine_done()
623 fw_cfg_build_smbios(pcms, x86ms->fw_cfg, pcms->smbios_entry_point_type); in pc_machine_done()
624 fw_cfg_add_e820(x86ms->fw_cfg); in pc_machine_done()
625 fw_cfg_build_feature_control(MACHINE(pcms), x86ms->fw_cfg); in pc_machine_done()
626 /* update FW_CFG_NB_CPUS to account for -device added CPUs */ in pc_machine_done()
627 fw_cfg_modify_i16(x86ms->fw_cfg, FW_CFG_NB_CPUS, x86ms->boot_cpus); in pc_machine_done()
639 pci_address_space, -1); in pc_pci_as_mapping_init()
649 assert(MACHINE(pcms)->kernel_filename != NULL); in xen_load_linux()
653 fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, x86ms->boot_cpus); in xen_load_linux()
656 x86_load_linux(x86ms, fw_cfg, PC_FW_DATA, pcmc->pvh_enabled); in xen_load_linux()
665 x86ms->fw_cfg = fw_cfg; in xen_load_linux()
672 #define PC_ROM_SIZE (PC_ROM_MAX - PC_ROM_MIN_VGA)
678 if (pcms->sgx_epc.size != 0) { in pc_above_4g_end()
679 return sgx_epc_above_4g_end(&pcms->sgx_epc); in pc_above_4g_end()
682 return x86ms->above_4g_mem_start + x86ms->above_4g_mem_size; in pc_above_4g_end()
693 size = machine->maxram_size - machine->ram_size; in pc_get_device_memory_range()
697 size += (1 * GiB) * machine->ram_slots; in pc_get_device_memory_range()
710 if (pcmc->has_reserved_memory && in pc_get_cxl_range_start()
711 (ms->ram_size < ms->maxram_size)) { in pc_get_cxl_range_start()
725 if (pcms->cxl_devices_state.fixed_windows) { in pc_get_cxl_range_end()
729 for (it = pcms->cxl_devices_state.fixed_windows; it; it = it->next) { in pc_get_cxl_range_end()
730 CXLFixedWindow *fw = it->data; in pc_get_cxl_range_end()
731 start += fw->size; in pc_get_cxl_range_end()
744 if (cpu->env.features[FEAT_8000_0001_EDX] & CPUID_EXT2_LM) { in pc_max_used_gpa()
745 /* 64-bit systems */ in pc_max_used_gpa()
746 return pc_pci_hole64_start() + pci_hole64_size - 1; in pc_max_used_gpa()
749 /* 32-bit systems */ in pc_max_used_gpa()
750 if (pcmc->broken_32bit_mem_addr_check) { in pc_max_used_gpa()
752 return ((hwaddr)1 << cpu->phys_bits) - 1; in pc_max_used_gpa()
756 * 32-bit systems don't have hole64 but they might have a region for in pc_max_used_gpa()
762 if (pcmc->has_reserved_memory && in pc_max_used_gpa()
763 (ms->ram_size < ms->maxram_size)) { in pc_max_used_gpa()
769 return devmem_start - 1; in pc_max_used_gpa()
773 return pc_above_4g_end(pcms) - 1; in pc_max_used_gpa()
783 * The ranges reserved for Hyper-Transport are:
785 * FD_0000_0000h - FF_FFFF_FFFFh
808 #define AMD_HT_SIZE (AMD_ABOVE_1TB_START - AMD_HT_START)
827 assert(machine->ram_size == x86ms->below_4g_mem_size + in pc_memory_init()
828 x86ms->above_4g_mem_size); in pc_memory_init()
830 linux_boot = (machine->kernel_filename != NULL); in pc_memory_init()
834 * hosts with IOMMUs enabled. Restrict the ram-above-4g relocation in pc_memory_init()
838 if (IS_AMD_CPU(&cpu->env) && pcmc->enforce_amd_1tb_hole) { in pc_memory_init()
839 /* Bail out if max possible address does not cross HT range */ in pc_memory_init()
841 x86ms->above_4g_mem_start = AMD_ABOVE_1TB_START; in pc_memory_init()
848 if (cpu->phys_bits >= 40) { in pc_memory_init()
854 * phys-bits is required to be appropriately configured in pc_memory_init()
858 maxphysaddr = ((hwaddr)1 << cpu->phys_bits) - 1; in pc_memory_init()
861 " phys-bits too low (%u)", in pc_memory_init()
862 maxphysaddr, maxusedaddr, cpu->phys_bits); in pc_memory_init()
871 memory_region_init_alias(ram_below_4g, NULL, "ram-below-4g", machine->ram, in pc_memory_init()
872 0, x86ms->below_4g_mem_size); in pc_memory_init()
874 e820_add_entry(0, x86ms->below_4g_mem_size, E820_RAM); in pc_memory_init()
875 if (x86ms->above_4g_mem_size > 0) { in pc_memory_init()
877 memory_region_init_alias(ram_above_4g, NULL, "ram-above-4g", in pc_memory_init()
878 machine->ram, in pc_memory_init()
879 x86ms->below_4g_mem_size, in pc_memory_init()
880 x86ms->above_4g_mem_size); in pc_memory_init()
881 memory_region_add_subregion(system_memory, x86ms->above_4g_mem_start, in pc_memory_init()
883 e820_add_entry(x86ms->above_4g_mem_start, x86ms->above_4g_mem_size, in pc_memory_init()
887 if (pcms->sgx_epc.size != 0) { in pc_memory_init()
888 e820_add_entry(pcms->sgx_epc.base, pcms->sgx_epc.size, E820_RESERVED); in pc_memory_init()
891 if (!pcmc->has_reserved_memory && in pc_memory_init()
892 (machine->ram_slots || in pc_memory_init()
893 (machine->maxram_size > machine->ram_size))) { in pc_memory_init()
895 error_report("\"-memory 'slots|maxmem'\" is not supported by: %s", in pc_memory_init()
896 mc->name); in pc_memory_init()
901 if (pcmc->has_reserved_memory && in pc_memory_init()
902 (machine->ram_size < machine->maxram_size)) { in pc_memory_init()
906 if (machine->ram_slots > ACPI_MAX_RAM_SLOTS) { in pc_memory_init()
908 machine->ram_slots); in pc_memory_init()
912 if (QEMU_ALIGN_UP(machine->maxram_size, in pc_memory_init()
913 TARGET_PAGE_SIZE) != machine->maxram_size) { in pc_memory_init()
923 machine->maxram_size); in pc_memory_init()
929 if (pcms->cxl_devices_state.is_enabled) { in pc_memory_init()
930 MemoryRegion *mr = &pcms->cxl_devices_state.host_mr; in pc_memory_init()
937 if (pcms->cxl_devices_state.fixed_windows) { in pc_memory_init()
942 for (it = pcms->cxl_devices_state.fixed_windows; it; it = it->next) { in pc_memory_init()
943 CXLFixedWindow *fw = it->data; in pc_memory_init()
945 fw->base = cxl_fmw_base; in pc_memory_init()
946 memory_region_init_io(&fw->mr, OBJECT(machine), &cfmws_ops, fw, in pc_memory_init()
947 "cxl-fixed-memory-region", fw->size); in pc_memory_init()
948 memory_region_add_subregion(system_memory, fw->base, &fw->mr); in pc_memory_init()
949 cxl_fmw_base += fw->size; in pc_memory_init()
966 if (pcmc->pci_enabled) { in pc_memory_init()
977 x86ms->boot_cpus, x86ms->apic_id_limit); in pc_memory_init()
981 if (machine->device_memory) { in pc_memory_init()
985 if (pcms->cxl_devices_state.is_enabled) { in pc_memory_init()
988 res_mem_end = machine->device_memory->base in pc_memory_init()
989 + memory_region_size(&machine->device_memory->mr); in pc_memory_init()
992 fw_cfg_add_file(fw_cfg, "etc/reserved-memory-end", val, sizeof(*val)); in pc_memory_init()
996 x86_load_linux(x86ms, fw_cfg, PC_FW_DATA, pcmc->pvh_enabled); in pc_memory_init()
1002 x86ms->fw_cfg = fw_cfg; in pc_memory_init()
1005 x86ms->ioapic_as = &address_space_memory; in pc_memory_init()
1008 pcms->memhp_io_base = ACPI_MEMORY_HOTPLUG_BASE; in pc_memory_init()
1023 if (pcms->cxl_devices_state.is_enabled) { in pc_pci_hole64_start()
1025 } else if (pcmc->has_reserved_memory && (ms->ram_size < ms->maxram_size)) { in pc_pci_hole64_start()
1041 dev = pcidev ? &pcidev->qdev : NULL; in pc_vga_init()
1141 memory_region_add_subregion(isa_bus->address_space_io, 0x80, ioport80_io); in pc_basic_device_init()
1144 memory_region_add_subregion(isa_bus->address_space_io, 0xf0, ioportF0_io); in pc_basic_device_init()
1149 if (pcms->hpet_enabled) { in pc_basic_device_init()
1158 * For pc-piix-*, hpet's intcap is always IRQ2. For pc-q35-*, in pc_basic_device_init()
1159 * use IRQ16~23, IRQ8 and IRQ2. If the user has already set in pc_basic_device_init()
1173 pit_isa_irq = -1; in pc_basic_device_init()
1181 object_property_add_alias(OBJECT(pcms), "rtc-time", OBJECT(rtc_state), in pc_basic_device_init()
1190 if (pcms->pcibus) { in pc_basic_device_init()
1191 pci_create_simple(pcms->pcibus, -1, "xen-platform"); in pc_basic_device_init()
1199 MACHINE(pcms)->boot_config.order, &error_fatal); in pc_basic_device_init()
1202 (x86ms->pit == ON_OFF_AUTO_AUTO || x86ms->pit == ON_OFF_AUTO_ON)) { in pc_basic_device_init()
1212 object_property_set_link(OBJECT(pcms->pcspk), "pit", in pc_basic_device_init()
1214 isa_realize_and_unref(pcms->pcspk, isa_bus, &error_fatal); in pc_basic_device_init()
1217 if (pcms->vmport == ON_OFF_AUTO_AUTO) { in pc_basic_device_init()
1218 pcms->vmport = (xen_enabled() || !pcms->i8042_enabled) in pc_basic_device_init()
1223 pc_superio_init(isa_bus, create_fdctrl, pcms->i8042_enabled, in pc_basic_device_init()
1224 pcms->vmport != ON_OFF_AUTO_ON, &error_fatal); in pc_basic_device_init()
1226 pcms->machine_done.notify = pc_machine_done; in pc_basic_device_init()
1227 qemu_add_machine_init_done_notifier(&pcms->machine_done); in pc_basic_device_init()
1233 bool default_is_ne2k = g_str_equal(mc->default_nic, TYPE_ISA_NE2000); in pc_nic_init()
1242 pci_init_nic_devices(pci_bus, mc->default_nic); in pc_nic_init()
1275 * but pcms->acpi_dev is still created. Check !acpi_enabled in in pc_memory_pre_plug()
1278 if (!x86ms->acpi_dev || !x86_machine_is_acpi_enabled(x86ms)) { in pc_memory_pre_plug()
1284 if (is_nvdimm && !ms->nvdimms_state->is_enabled) { in pc_memory_pre_plug()
1285 error_setg(errp, "nvdimm is not enabled: missing 'nvdimm' in '-M'"); in pc_memory_pre_plug()
1289 hotplug_handler_pre_plug(x86ms->acpi_dev, dev, &local_err); in pc_memory_pre_plug()
1309 nvdimm_plug(ms->nvdimms_state); in pc_memory_plug()
1312 hotplug_handler_plug(x86ms->acpi_dev, dev, &error_abort); in pc_memory_plug()
1322 * but pcms->acpi_dev is still created. Check !acpi_enabled in in pc_memory_unplug_request()
1325 if (!x86ms->acpi_dev || !x86_machine_is_acpi_enabled(x86ms)) { in pc_memory_unplug_request()
1336 hotplug_handler_unplug_request(x86ms->acpi_dev, dev, in pc_memory_unplug_request()
1347 hotplug_handler_unplug(x86ms->acpi_dev, dev, &local_err); in pc_memory_unplug()
1362 g_assert(!dev->hotplugged); in pc_hv_balloon_pre_plug()
1388 qdev_prop_set_array(dev, "reserved-regions", reserved_regions); in pc_machine_device_pre_plug_cb()
1397 if (pcms->iommu) { in pc_machine_device_pre_plug_cb()
1402 pcms->iommu = dev; in pc_machine_device_pre_plug_cb()
1472 OnOffAuto vmport = pcms->vmport; in pc_machine_get_vmport()
1482 visit_type_OnOffAuto(v, name, &pcms->vmport, errp); in pc_machine_set_vmport()
1489 return pcms->fd_bootchk; in pc_machine_get_fd_bootchk()
1496 pcms->fd_bootchk = value; in pc_machine_set_fd_bootchk()
1503 return pcms->smbus_enabled; in pc_machine_get_smbus()
1510 pcms->smbus_enabled = value; in pc_machine_set_smbus()
1517 return pcms->sata_enabled; in pc_machine_get_sata()
1524 pcms->sata_enabled = value; in pc_machine_set_sata()
1531 return pcms->hpet_enabled; in pc_machine_get_hpet()
1538 pcms->hpet_enabled = value; in pc_machine_set_hpet()
1545 return pcms->i8042_enabled; in pc_machine_get_i8042()
1552 pcms->i8042_enabled = value; in pc_machine_set_i8042()
1559 return pcms->default_bus_bypass_iommu; in pc_machine_get_default_bus_bypass_iommu()
1567 pcms->default_bus_bypass_iommu = value; in pc_machine_set_default_bus_bypass_iommu()
1574 SmbiosEntryPointType smbios_entry_point_type = pcms->smbios_entry_point_type; in pc_machine_get_smbios_ep()
1584 visit_type_SmbiosEntryPointType(v, name, &pcms->smbios_entry_point_type, errp); in pc_machine_set_smbios_ep()
1592 uint64_t value = pcms->max_ram_below_4g; in pc_machine_get_max_ram_below_4g()
1609 "Machine option 'max-ram-below-4g=%"PRIu64 in pc_machine_set_max_ram_below_4g()
1619 pcms->max_ram_below_4g = value; in pc_machine_set_max_ram_below_4g()
1627 uint64_t value = pcms->max_fw_size; in pc_machine_get_max_fw_size()
1645 * address of any flash mapping. In practice, the IO-APIC MMIO range is in pc_machine_set_max_fw_size()
1646 * [0xFEE00000..0xFEE01000] -- see IO_APIC_DEFAULT_ADDRESS --, leaving free in pc_machine_set_max_fw_size()
1647 * only 18MiB-4KiB below 4GiB. For now, restrict the cumulative mapping to in pc_machine_set_max_fw_size()
1652 "User specified max allowed firmware size %" PRIu64 " is " in pc_machine_set_max_fw_size()
1660 pcms->max_fw_size = value; in pc_machine_set_max_fw_size()
1670 pcms->vmport = ON_OFF_AUTO_AUTO; in pc_machine_initfn()
1672 pcms->vmport = ON_OFF_AUTO_OFF; in pc_machine_initfn()
1674 pcms->max_ram_below_4g = 0; /* use default */ in pc_machine_initfn()
1675 pcms->smbios_entry_point_type = pcmc->default_smbios_ep_type; in pc_machine_initfn()
1676 pcms->south_bridge = pcmc->default_south_bridge; in pc_machine_initfn()
1679 pcms->acpi_build_enabled = pcmc->has_acpi_build; in pc_machine_initfn()
1680 pcms->smbus_enabled = true; in pc_machine_initfn()
1681 pcms->sata_enabled = true; in pc_machine_initfn()
1682 pcms->i8042_enabled = true; in pc_machine_initfn()
1683 pcms->max_fw_size = 8 * MiB; in pc_machine_initfn()
1685 pcms->hpet_enabled = true; in pc_machine_initfn()
1687 pcms->fd_bootchk = true; in pc_machine_initfn()
1688 pcms->default_bus_bypass_iommu = false; in pc_machine_initfn()
1691 pcms->pcspk = isa_new(TYPE_PC_SPEAKER); in pc_machine_initfn()
1692 object_property_add_alias(OBJECT(pcms), "pcspk-audiodev", in pc_machine_initfn()
1693 OBJECT(pcms->pcspk), "audiodev"); in pc_machine_initfn()
1694 if (pcmc->pci_enabled) { in pc_machine_initfn()
1695 cxl_machine_init(obj, &pcms->cxl_devices_state); in pc_machine_initfn()
1730 object_dynamic_cast((Object *)dev, "vfio-pci")) { in pc_hotplug_allowed()
1732 if (!intel_iommu->caching_mode) { in pc_hotplug_allowed()
1734 "enabling caching-mode=on for Intel IOMMU."); in pc_hotplug_allowed()
1749 pcmc->pci_enabled = true; in pc_machine_class_init()
1750 pcmc->has_acpi_build = true; in pc_machine_class_init()
1751 pcmc->smbios_defaults = true; in pc_machine_class_init()
1752 pcmc->gigabyte_align = true; in pc_machine_class_init()
1753 pcmc->has_reserved_memory = true; in pc_machine_class_init()
1754 pcmc->enforce_amd_1tb_hole = true; in pc_machine_class_init()
1755 pcmc->isa_bios_alias = true; in pc_machine_class_init()
1756 pcmc->pvh_enabled = true; in pc_machine_class_init()
1757 pcmc->kvmclock_create_always = true; in pc_machine_class_init()
1758 x86mc->apic_xrupt_override = true; in pc_machine_class_init()
1759 assert(!mc->get_hotplug_handler); in pc_machine_class_init()
1760 mc->get_hotplug_handler = pc_get_hotplug_handler; in pc_machine_class_init()
1761 mc->hotplug_allowed = pc_hotplug_allowed; in pc_machine_class_init()
1762 mc->auto_enable_numa_with_memhp = true; in pc_machine_class_init()
1763 mc->auto_enable_numa_with_memdev = true; in pc_machine_class_init()
1764 mc->has_hotpluggable_cpus = true; in pc_machine_class_init()
1765 mc->default_boot_order = "cad"; in pc_machine_class_init()
1766 mc->block_default_type = IF_IDE; in pc_machine_class_init()
1767 mc->max_cpus = 255; in pc_machine_class_init()
1768 mc->reset = pc_machine_reset; in pc_machine_class_init()
1769 mc->wakeup = pc_machine_wakeup; in pc_machine_class_init()
1770 hc->pre_plug = pc_machine_device_pre_plug_cb; in pc_machine_class_init()
1771 hc->plug = pc_machine_device_plug_cb; in pc_machine_class_init()
1772 hc->unplug_request = pc_machine_device_unplug_request_cb; in pc_machine_class_init()
1773 hc->unplug = pc_machine_device_unplug_cb; in pc_machine_class_init()
1774 mc->default_cpu_type = TARGET_DEFAULT_CPU_TYPE; in pc_machine_class_init()
1775 mc->nvdimm_supported = true; in pc_machine_class_init()
1776 mc->smp_props.dies_supported = true; in pc_machine_class_init()
1777 mc->smp_props.modules_supported = true; in pc_machine_class_init()
1778 mc->smp_props.cache_supported[CACHE_LEVEL_AND_TYPE_L1D] = true; in pc_machine_class_init()
1779 mc->smp_props.cache_supported[CACHE_LEVEL_AND_TYPE_L1I] = true; in pc_machine_class_init()
1780 mc->smp_props.cache_supported[CACHE_LEVEL_AND_TYPE_L2] = true; in pc_machine_class_init()
1781 mc->smp_props.cache_supported[CACHE_LEVEL_AND_TYPE_L3] = true; in pc_machine_class_init()
1782 mc->default_ram_id = "pc.ram"; in pc_machine_class_init()
1783 pcmc->default_smbios_ep_type = SMBIOS_ENTRY_POINT_TYPE_AUTO; in pc_machine_class_init()
1817 object_class_property_add_bool(oc, "default-bus-bypass-iommu", in pc_machine_class_init()
1833 object_class_property_add_bool(oc, "fd-bootchk", in pc_machine_class_init()