Lines Matching refs:pcms

573 void pc_cmos_init(PCMachineState *pcms,  in pc_cmos_init()  argument
579 X86MachineState *x86ms = X86_MACHINE(pcms); in pc_cmos_init()
617 object_property_add_link(OBJECT(pcms), "rtc_state", in pc_cmos_init()
622 object_property_set_link(OBJECT(pcms), "rtc_state", OBJECT(s), in pc_cmos_init()
625 set_boot_dev(s, MACHINE(pcms)->boot_config.order, &error_fatal); in pc_cmos_init()
677 PCMachineState *pcms = container_of(notifier, in pc_machine_done() local
679 X86MachineState *x86ms = X86_MACHINE(pcms); in pc_machine_done()
681 cxl_hook_up_pxb_registers(pcms->bus, &pcms->cxl_devices_state, in pc_machine_done()
684 if (pcms->cxl_devices_state.is_enabled) { in pc_machine_done()
685 cxl_fmws_link_targets(&pcms->cxl_devices_state, &error_fatal); in pc_machine_done()
691 fw_cfg_add_extra_pci_roots(pcms->bus, x86ms->fw_cfg); in pc_machine_done()
695 fw_cfg_build_smbios(MACHINE(pcms), x86ms->fw_cfg); in pc_machine_done()
696 fw_cfg_build_feature_control(MACHINE(pcms), x86ms->fw_cfg); in pc_machine_done()
702 void pc_guest_info_init(PCMachineState *pcms) in pc_guest_info_init() argument
704 X86MachineState *x86ms = X86_MACHINE(pcms); in pc_guest_info_init()
707 pcms->machine_done.notify = pc_machine_done; in pc_guest_info_init()
708 qemu_add_machine_init_done_notifier(&pcms->machine_done); in pc_guest_info_init()
720 void xen_load_linux(PCMachineState *pcms) in xen_load_linux() argument
724 PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms); in xen_load_linux()
725 X86MachineState *x86ms = X86_MACHINE(pcms); in xen_load_linux()
727 assert(MACHINE(pcms)->kernel_filename != NULL); in xen_load_linux()
752 static hwaddr pc_above_4g_end(PCMachineState *pcms) in pc_above_4g_end() argument
754 X86MachineState *x86ms = X86_MACHINE(pcms); in pc_above_4g_end()
756 if (pcms->sgx_epc.size != 0) { in pc_above_4g_end()
757 return sgx_epc_above_4g_end(&pcms->sgx_epc); in pc_above_4g_end()
763 static void pc_get_device_memory_range(PCMachineState *pcms, in pc_get_device_memory_range() argument
767 PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms); in pc_get_device_memory_range()
768 MachineState *machine = MACHINE(pcms); in pc_get_device_memory_range()
773 addr = ROUND_UP(pc_above_4g_end(pcms), 1 * GiB); in pc_get_device_memory_range()
784 static uint64_t pc_get_cxl_range_start(PCMachineState *pcms) in pc_get_cxl_range_start() argument
786 PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms); in pc_get_cxl_range_start()
787 MachineState *ms = MACHINE(pcms); in pc_get_cxl_range_start()
793 pc_get_device_memory_range(pcms, &cxl_base, &size); in pc_get_cxl_range_start()
796 cxl_base = pc_above_4g_end(pcms); in pc_get_cxl_range_start()
802 static uint64_t pc_get_cxl_range_end(PCMachineState *pcms) in pc_get_cxl_range_end() argument
804 uint64_t start = pc_get_cxl_range_start(pcms) + MiB; in pc_get_cxl_range_end()
806 if (pcms->cxl_devices_state.fixed_windows) { in pc_get_cxl_range_end()
810 for (it = pcms->cxl_devices_state.fixed_windows; it; it = it->next) { in pc_get_cxl_range_end()
819 static hwaddr pc_max_used_gpa(PCMachineState *pcms, uint64_t pci_hole64_size) in pc_max_used_gpa() argument
822 PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms); in pc_max_used_gpa()
823 MachineState *ms = MACHINE(pcms); in pc_max_used_gpa()
848 pc_get_device_memory_range(pcms, &devmem_start, &devmem_size); in pc_max_used_gpa()
854 return pc_above_4g_end(pcms) - 1; in pc_max_used_gpa()
891 void pc_memory_init(PCMachineState *pcms, in pc_memory_init() argument
900 MachineState *machine = MACHINE(pcms); in pc_memory_init()
902 PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms); in pc_memory_init()
903 X86MachineState *x86ms = X86_MACHINE(pcms); in pc_memory_init()
921 if (pc_max_used_gpa(pcms, pci_hole64_size) >= AMD_HT_START) { in pc_memory_init()
938 maxusedaddr = pc_max_used_gpa(pcms, pci_hole64_size); in pc_memory_init()
968 if (pcms->sgx_epc.size != 0) { in pc_memory_init()
969 e820_add_entry(pcms->sgx_epc.base, pcms->sgx_epc.size, E820_RESERVED); in pc_memory_init()
1000 pc_get_device_memory_range(pcms, &device_mem_base, &device_mem_size); in pc_memory_init()
1010 if (pcms->cxl_devices_state.is_enabled) { in pc_memory_init()
1011 MemoryRegion *mr = &pcms->cxl_devices_state.host_mr; in pc_memory_init()
1014 cxl_base = pc_get_cxl_range_start(pcms); in pc_memory_init()
1018 if (pcms->cxl_devices_state.fixed_windows) { in pc_memory_init()
1023 for (it = pcms->cxl_devices_state.fixed_windows; it; it = it->next) { in pc_memory_init()
1037 pc_system_firmware_init(pcms, rom_memory); in pc_memory_init()
1063 if (pcms->cxl_devices_state.is_enabled) { in pc_memory_init()
1084 pcms->memhp_io_base = ACPI_MEMORY_HOTPLUG_BASE; in pc_memory_init()
1093 PCMachineState *pcms = PC_MACHINE(qdev_get_machine()); in pc_pci_hole64_start() local
1094 PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms); in pc_pci_hole64_start()
1095 MachineState *ms = MACHINE(pcms); in pc_pci_hole64_start()
1099 if (pcms->cxl_devices_state.is_enabled) { in pc_pci_hole64_start()
1100 hole64_start = pc_get_cxl_range_end(pcms); in pc_pci_hole64_start()
1102 pc_get_device_memory_range(pcms, &hole64_start, &size); in pc_pci_hole64_start()
1107 hole64_start = pc_above_4g_end(pcms); in pc_pci_hole64_start()
1197 void pc_basic_device_init(struct PCMachineState *pcms, in pc_basic_device_init() argument
1210 X86MachineState *x86ms = X86_MACHINE(pcms); in pc_basic_device_init()
1221 if (pcms->hpet_enabled) { in pc_basic_device_init()
1253 object_property_add_alias(OBJECT(pcms), "rtc-time", OBJECT(rtc_state), in pc_basic_device_init()
1262 if (pcms->bus) { in pc_basic_device_init()
1263 pci_create_simple(pcms->bus, -1, "xen-platform"); in pc_basic_device_init()
1265 pcms->xenbus = xen_bus_init(); in pc_basic_device_init()
1283 object_property_set_link(OBJECT(pcms->pcspk), "pit", in pc_basic_device_init()
1285 isa_realize_and_unref(pcms->pcspk, isa_bus, &error_fatal); in pc_basic_device_init()
1289 pc_superio_init(isa_bus, create_fdctrl, pcms->i8042_enabled, in pc_basic_device_init()
1290 pcms->vmport != ON_OFF_AUTO_ON); in pc_basic_device_init()
1339 const PCMachineState *pcms = PC_MACHINE(hotplug_dev); in pc_memory_pre_plug() local
1341 const PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms); in pc_memory_pre_plug()
1376 PCMachineState *pcms = PC_MACHINE(hotplug_dev); in pc_memory_plug() local
1381 pc_dimm_plug(PC_DIMM(dev), MACHINE(pcms)); in pc_memory_plug()
1418 PCMachineState *pcms = PC_MACHINE(hotplug_dev); in pc_memory_unplug() local
1427 pc_dimm_unplug(PC_DIMM(dev), MACHINE(pcms)); in pc_memory_unplug()
1471 PCMachineState *pcms = PC_MACHINE(hotplug_dev); in pc_machine_device_pre_plug_cb() local
1473 if (pcms->iommu) { in pc_machine_device_pre_plug_cb()
1478 pcms->iommu = dev; in pc_machine_device_pre_plug_cb()
1547 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_get_vmport() local
1548 OnOffAuto vmport = pcms->vmport; in pc_machine_get_vmport()
1556 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_set_vmport() local
1558 visit_type_OnOffAuto(v, name, &pcms->vmport, errp); in pc_machine_set_vmport()
1563 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_get_smbus() local
1565 return pcms->smbus_enabled; in pc_machine_get_smbus()
1570 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_set_smbus() local
1572 pcms->smbus_enabled = value; in pc_machine_set_smbus()
1577 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_get_sata() local
1579 return pcms->sata_enabled; in pc_machine_get_sata()
1584 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_set_sata() local
1586 pcms->sata_enabled = value; in pc_machine_set_sata()
1591 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_get_hpet() local
1593 return pcms->hpet_enabled; in pc_machine_get_hpet()
1598 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_set_hpet() local
1600 pcms->hpet_enabled = value; in pc_machine_set_hpet()
1605 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_get_i8042() local
1607 return pcms->i8042_enabled; in pc_machine_get_i8042()
1612 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_set_i8042() local
1614 pcms->i8042_enabled = value; in pc_machine_set_i8042()
1619 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_get_default_bus_bypass_iommu() local
1621 return pcms->default_bus_bypass_iommu; in pc_machine_get_default_bus_bypass_iommu()
1627 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_set_default_bus_bypass_iommu() local
1629 pcms->default_bus_bypass_iommu = value; in pc_machine_set_default_bus_bypass_iommu()
1635 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_get_smbios_ep() local
1636 SmbiosEntryPointType smbios_entry_point_type = pcms->smbios_entry_point_type; in pc_machine_get_smbios_ep()
1644 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_set_smbios_ep() local
1646 visit_type_SmbiosEntryPointType(v, name, &pcms->smbios_entry_point_type, errp); in pc_machine_set_smbios_ep()
1653 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_get_max_ram_below_4g() local
1654 uint64_t value = pcms->max_ram_below_4g; in pc_machine_get_max_ram_below_4g()
1663 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_set_max_ram_below_4g() local
1681 pcms->max_ram_below_4g = value; in pc_machine_set_max_ram_below_4g()
1688 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_get_max_fw_size() local
1689 uint64_t value = pcms->max_fw_size; in pc_machine_get_max_fw_size()
1698 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_set_max_fw_size() local
1722 pcms->max_fw_size = value; in pc_machine_set_max_fw_size()
1728 PCMachineState *pcms = PC_MACHINE(obj); in pc_machine_initfn() local
1729 PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms); in pc_machine_initfn()
1732 pcms->vmport = ON_OFF_AUTO_AUTO; in pc_machine_initfn()
1734 pcms->vmport = ON_OFF_AUTO_OFF; in pc_machine_initfn()
1736 pcms->max_ram_below_4g = 0; /* use default */ in pc_machine_initfn()
1737 pcms->smbios_entry_point_type = pcmc->default_smbios_ep_type; in pc_machine_initfn()
1738 pcms->south_bridge = pcmc->default_south_bridge; in pc_machine_initfn()
1741 pcms->acpi_build_enabled = pcmc->has_acpi_build; in pc_machine_initfn()
1742 pcms->smbus_enabled = true; in pc_machine_initfn()
1743 pcms->sata_enabled = true; in pc_machine_initfn()
1744 pcms->i8042_enabled = true; in pc_machine_initfn()
1745 pcms->max_fw_size = 8 * MiB; in pc_machine_initfn()
1747 pcms->hpet_enabled = true; in pc_machine_initfn()
1749 pcms->default_bus_bypass_iommu = false; in pc_machine_initfn()
1751 pc_system_flash_create(pcms); in pc_machine_initfn()
1752 pcms->pcspk = isa_new(TYPE_PC_SPEAKER); in pc_machine_initfn()
1753 object_property_add_alias(OBJECT(pcms), "pcspk-audiodev", in pc_machine_initfn()
1754 OBJECT(pcms->pcspk), "audiodev"); in pc_machine_initfn()
1755 cxl_machine_init(obj, &pcms->cxl_devices_state); in pc_machine_initfn()