/qemu/hw/ppc/ |
H A D | spapr_irq.c | 41 spapr->irq_map_nr = spapr_irq_nr_msis(spapr); in spapr_irq_msi_init() 42 spapr->irq_map = bitmap_new(spapr->irq_map_nr); in spapr_irq_msi_init() 58 irq = bitmap_find_next_zero_area(spapr->irq_map, spapr->irq_map_nr, 0, num, in spapr_irq_msi_alloc() 312 if (spapr->irq->xics) { in spapr_irq_init() 328 if (spapr->irq->xive) { in spapr_irq_init() 360 spapr->qirqs = qemu_allocate_irqs(spapr_set_irq, spapr, in spapr_irq_init() 432 if (spapr->ics) { in spapr_qirq() 435 if (spapr->xive) { in spapr_qirq() 440 return spapr->qirqs[irq]; in spapr_qirq() 454 assert(!spapr->irq_map || bitmap_empty(spapr->irq_map, spapr->irq_map_nr)); in spapr_irq_reset() [all …]
|
H A D | spapr_vof.c | 20 int ret = vof_client_call(MACHINE(spapr), spapr->vof, spapr->fdt_blob, in spapr_h_vof_client() 35 if (spapr->vof->bootargs) { in spapr_vof_client_dt_finalize() 60 Vof *vof = spapr->vof; in spapr_vof_reset() 73 if (spapr->kernel_size && in spapr_vof_reset() 74 vof_claim(vof, spapr->kernel_addr, spapr->kernel_size, 0) == -1) { in spapr_vof_reset() 79 if (spapr->initrd_size && in spapr_vof_reset() 80 vof_claim(vof, spapr->initrd_base, spapr->initrd_size, 0) == -1) { in spapr_vof_reset() 108 spapr->fdt_size = fdt_totalsize(spapr->fdt_blob); in spapr_vof_quiesce() 109 spapr->fdt_initial_size = spapr->fdt_size; in spapr_vof_quiesce() 152 spapr->initrd_size = ldl_be_p(val) - spapr->initrd_base; in spapr_vof_setprop() [all …]
|
H A D | spapr.c | 681 spapr_dt_memory_node(spapr, fdt, i, 0, spapr->rma_size); in spapr_dt_memory() 1060 if (spapr->irq->xics && spapr->irq->xive) { in spapr_dt_ov5_platform_support() 1759 spapr->ov5_cas = spapr_ovec_clone(spapr->ov5); in spapr_machine_reset() 1800 spapr->fdt_initial_size = spapr->fdt_size; in spapr_machine_reset() 1893 err = spapr_rtc_import_offset(&spapr->rtc, spapr->rtc_offset); in spapr_post_load() 2052 return spapr->irq_map && !bitmap_empty(spapr->irq_map, spapr->irq_map_nr); in spapr_irq_map_needed() 2886 spapr->rma_size = spapr_rma_size(spapr, &error_fatal); in spapr_machine_init() 3082 spapr->kernel_le = spapr->kernel_size > 0; in spapr_machine_init() 3102 spapr->initrd_base = (spapr->kernel_addr + spapr->kernel_size in spapr_machine_init() 3358 spapr->vof = g_malloc0(sizeof(*spapr->vof)); in spapr_set_vof() [all …]
|
H A D | spapr_numa.c | 36 static int get_numa_assoc_size(SpaprMachineState *spapr) in get_numa_assoc_size() argument 53 return get_numa_assoc_size(spapr) + 1; in get_vcpu_assoc_size() 63 return spapr->FORM2_assoc_array[node_id]; in get_associativity() 65 return spapr->FORM1_assoc_array[node_id]; in get_associativity() 145 MachineState *ms = MACHINE(spapr); in spapr_numa_define_FORM1_domains() 305 spapr_numa_define_FORM1_domains(spapr); in spapr_numa_FORM1_affinity_init() 335 spapr_numa_FORM2_affinity_init(spapr); in spapr_numa_associativity_init() 401 MachineState *machine = MACHINE(spapr); in spapr_numa_write_assoc_lookup_arrays() 434 MachineState *ms = MACHINE(spapr); in spapr_numa_FORM1_write_rtas_dt() 491 MachineState *ms = MACHINE(spapr); in spapr_numa_FORM2_write_rtas_tables() [all …]
|
H A D | spapr_hcall.c | 95 if (!spapr->htab_shift) { in h_resize_hpt_prepare() 177 if (!spapr->htab_shift) { in h_resize_hpt_commit() 1050 spapr_check_setup_free_hpt(spapr, spapr->patb_entry, cproc); in h_register_process_table() 1271 spapr_ovec_intersect(spapr->ov5_cas, spapr->ov5, ov5_guest); in do_client_architecture_support() 1321 fdt = spapr_build_fdt(spapr, spapr->vof != NULL, fdt_bufsize); in do_client_architecture_support() 1324 spapr->fdt_initial_size = spapr->fdt_size; in do_client_architecture_support() 1325 spapr->fdt_blob = fdt; in do_client_architecture_support() 1360 spapr->fdt_size = fdt_totalsize(spapr->fdt_blob); in h_client_architecture_support() 1361 spapr->fdt_initial_size = spapr->fdt_size; in h_client_architecture_support() 1386 spapr_vof_client_dt_finalize(spapr, spapr->fdt_blob); in spapr_vof_client_architecture_support() [all …]
|
H A D | spapr_caps.c | 174 spapr->eff.caps[cap->index] = val; in spapr_cap_set_pagesize() 487 if (spapr_nested_api(spapr) && in cap_nested_kvm_hv_apply() 518 if (spapr_nested_api(spapr) && in cap_nested_papr_apply() 886 SpaprMachineState *spapr = opaque; in spapr_caps_pre_load() local 889 spapr->mig = spapr->def; in spapr_caps_pre_load() 897 spapr->mig = spapr->eff; in spapr_caps_pre_save() 912 srccaps = default_caps_with_cpu(spapr, MACHINE(spapr)->cpu_type); in spapr_caps_post_migration() 915 if (spapr->mig.caps[i] != spapr->def.caps[i]) { in spapr_caps_post_migration() 984 default_caps = default_caps_with_cpu(spapr, MACHINE(spapr)->cpu_type); in spapr_caps_init() 1007 info->apply(spapr, spapr->eff.caps[i], &error_fatal); in spapr_caps_apply() [all …]
|
H A D | spapr_events.c | 415 g_assert(spapr->event_sources); in rtas_event_log_to_source() 466 rtas_event_log_to_source(spapr, in rtas_event_log_dequeue() 488 rtas_event_log_to_source(spapr, in rtas_event_log_contains() 520 spapr_rtc_read(&spapr->rtc, &tm, NULL); in spapr_init_maina() 578 rtas_event_log_queue(spapr, entry); in spapr_powerdown_req() 580 qemu_irq_pulse(spapr_qirq(spapr, in spapr_powerdown_req() 667 rtas_event_log_queue(spapr, entry); in spapr_hotplug_req_event() 669 qemu_irq_pulse(spapr_qirq(spapr, in spapr_hotplug_req_event() 923 error_setg(&spapr->fwnmi_migration_blocker, in spapr_mce_req_event() 1053 QTAILQ_INIT(&spapr->pending_events); in spapr_events_init() [all …]
|
H A D | spapr_rtas.c | 60 SpaprVioDevice *sdev = vty_lookup(spapr, 0); in rtas_display_character() 274 MachineState *ms = MACHINE(spapr); in rtas_ibm_get_system_parameter() 345 SpaprMachineState *spapr, in rtas_ibm_os_term() argument 413 SpaprMachineState *spapr, in rtas_ibm_nmi_register() argument 449 spapr->fwnmi_system_reset_addr = sreset_addr; in rtas_ibm_nmi_register() 450 spapr->fwnmi_machine_check_addr = mce_addr; in rtas_ibm_nmi_register() 456 SpaprMachineState *spapr, in rtas_ibm_nmi_interlock() argument 466 if (spapr->fwnmi_machine_check_addr == -1) { in rtas_ibm_nmi_interlock() 495 spapr->fwnmi_machine_check_interlock = -1; in rtas_ibm_nmi_interlock() 498 migrate_del_blocker(&spapr->fwnmi_migration_blocker); in rtas_ibm_nmi_interlock() [all …]
|
H A D | spapr_vhyp_mmu.c | 52 if (is_ram_address(spapr, raddr)) { in h_enter() 366 spapr->pending_hpt = NULL; in cancel_hpt_prepare() 399 cancel_hpt_prepare(spapr); in vhyp_mmu_resize_hpt_prepare() 416 spapr->pending_hpt = pending; in vhyp_mmu_resize_hpt_prepare() 589 g_assert(spapr->htab_shift); in vhyp_mmu_resize_hpt_commit() 592 rc = rehash_hpt(cpu, spapr->htab, HTAB_SIZE(spapr), in vhyp_mmu_resize_hpt_commit() 595 qemu_vfree(spapr->htab); in vhyp_mmu_resize_hpt_commit() 596 spapr->htab = pending->hpt; in vhyp_mmu_resize_hpt_commit() 597 spapr->htab_shift = pending->shift; in vhyp_mmu_resize_hpt_commit() 599 push_sregs_to_kvm_pr(spapr); in vhyp_mmu_resize_hpt_commit() [all …]
|
H A D | spapr_nested.c | 13 void spapr_nested_reset(SpaprMachineState *spapr) in spapr_nested_reset() argument 19 spapr->nested.capabilities_set = false; in spapr_nested_reset() 24 spapr->nested.api = 0; in spapr_nested_reset() 28 uint8_t spapr_nested_api(SpaprMachineState *spapr) in spapr_nested_api() argument 30 return spapr->nested.api; in spapr_nested_api() 42 patb = spapr->nested.ptcr & PTCR_PATB; in spapr_get_pate_nested_hv() 43 pats = spapr->nested.ptcr & PTCR_PATS; in spapr_get_pate_nested_hv() 343 if (spapr->nested.ptcr == 0) { in h_enter_nested() 1189 spapr->max_compat_pvr)) { in h_guest_get_capabilities() 1195 spapr->max_compat_pvr)) { in h_guest_get_capabilities() [all …]
|
H A D | spapr_pci.c | 70 QLIST_FOREACH(sphb, &spapr->phbs, list) { in spapr_pci_find_phb() 288 phb = spapr_pci_find_phb(spapr, buid); in rtas_ibm_change_msi() 451 phb = spapr_pci_find_phb(spapr, buid); in rtas_ibm_query_interrupt_source_number() 495 sphb = spapr_pci_find_phb(spapr, buid); in rtas_ibm_set_eeh_option() 528 sphb = spapr_pci_find_phb(spapr, buid); in rtas_ibm_get_config_addr_info2() 581 sphb = spapr_pci_find_phb(spapr, buid); in rtas_ibm_read_slot_reset_state2() 754 SpaprMachineState *spapr = opaque; in spapr_msi_write() local 1828 SpaprMachineState *spapr = in spapr_phb_realize() local 1831 SpaprMachineClass *smc = spapr ? SPAPR_MACHINE_GET_CLASS(spapr) : NULL; in spapr_phb_realize() 1835 MachineState *ms = MACHINE(spapr); in spapr_phb_realize() [all …]
|
H A D | spapr_vio.c | 165 SpaprVioDevice *dev = spapr_vio_find_by_reg(spapr->vio_bus, reg); in h_reg_crq() 219 SpaprVioDevice *dev = spapr_vio_find_by_reg(spapr->vio_bus, reg); in h_free_crq() 335 SpaprVioBus *bus = spapr->vio_bus; in rtas_set_tce_bypass() 361 static void rtas_quiesce(PowerPCCPU *cpu, SpaprMachineState *spapr, in rtas_quiesce() argument 366 SpaprVioBus *bus = spapr->vio_bus; in rtas_quiesce() 472 SpaprMachineState *spapr = SPAPR_MACHINE(qdev_get_machine()); in spapr_vio_busdev_realize() local 510 if (SPAPR_MACHINE_GET_CLASS(spapr)->legacy_irq_allocation) { in spapr_vio_busdev_realize() 511 int irq = spapr_irq_findone(spapr, errp); in spapr_vio_busdev_realize() 519 if (spapr_irq_claim(spapr, dev->irq, false, errp) < 0) { in spapr_vio_busdev_realize() 527 MACHINE(spapr)->ram_size); in spapr_vio_busdev_realize() [all …]
|
H A D | spapr_cpu_core.c | 36 SpaprMachineState *spapr = SPAPR_MACHINE(qdev_get_machine()); in spapr_reset_vcpu() local 77 spapr_caps_cpu_apply(spapr, cpu); in spapr_reset_vcpu() 83 spapr_irq_cpu_intc_reset(spapr, cpu); in spapr_reset_vcpu() 262 static bool spapr_realize_vcpu(PowerPCCPU *cpu, SpaprMachineState *spapr, in spapr_realize_vcpu() argument 272 cpu_ppc_set_vhyp(cpu, PPC_VIRTUAL_HYPERVISOR(spapr)); in spapr_realize_vcpu() 283 if (spapr_irq_cpu_intc_create(spapr, cpu, errp) < 0) { in spapr_realize_vcpu() 333 SpaprMachineState *spapr = in spapr_cpu_core_realize() local 340 if (!spapr) { in spapr_cpu_core_realize() 350 !spapr_realize_vcpu(sc->threads[i], spapr, sc, i, errp)) { in spapr_cpu_core_realize()
|
H A D | spapr_rtas_ddw.c | 94 SpaprMachineState *spapr, in rtas_ibm_query_pe_dma_window() argument 109 sphb = spapr_pci_find_phb(spapr, buid); in rtas_ibm_query_pe_dma_window() 144 SpaprMachineState *spapr, in rtas_ibm_create_pe_dma_window() argument 161 sphb = spapr_pci_find_phb(spapr, buid); in rtas_ibm_create_pe_dma_window() 221 SpaprMachineState *spapr, in rtas_ibm_remove_pe_dma_window() argument 271 SpaprMachineState *spapr, in rtas_ibm_reset_pe_dma_window() argument 286 sphb = spapr_pci_find_phb(spapr, buid); in rtas_ibm_reset_pe_dma_window()
|
H A D | spapr_nvdimm.c | 142 static int spapr_dt_nvdimm(SpaprMachineState *spapr, void *fdt, in spapr_dt_nvdimm() argument 172 spapr_numa_write_associativity_dt(spapr, fdt, child_offset, node); in spapr_dt_nvdimm() 207 int spapr_pmem_dt_populate(SpaprDrc *drc, SpaprMachineState *spapr, in spapr_pmem_dt_populate() argument 212 *fdt_start_offset = spapr_dt_nvdimm(spapr, fdt, 0, nvdimm); in spapr_pmem_dt_populate() 217 void spapr_dt_persistent_memory(SpaprMachineState *spapr, void *fdt) in spapr_dt_persistent_memory() argument 235 spapr_dt_nvdimm(spapr, fdt, offset, nvdimm); in spapr_dt_persistent_memory() 243 SpaprMachineState *spapr, in h_scm_read_metadata() argument 298 SpaprMachineState *spapr, in h_scm_write_metadata() argument 360 static target_ulong h_scm_bind_mem(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_scm_bind_mem() argument 657 static target_ulong h_scm_flush(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_scm_flush() argument [all …]
|
/qemu/include/hw/ppc/ |
H A D | spapr_irq.h | 82 void spapr_irq_update_active_intc(struct SpaprMachineState *spapr); 84 int spapr_irq_cpu_intc_create(struct SpaprMachineState *spapr, 88 void spapr_irq_print_info(struct SpaprMachineState *spapr, Monitor *mon); 89 void spapr_irq_dt(struct SpaprMachineState *spapr, uint32_t nr_servers, 92 uint32_t spapr_irq_nr_msis(struct SpaprMachineState *spapr); 107 void spapr_irq_init(struct SpaprMachineState *spapr, Error **errp); 109 void spapr_irq_free(struct SpaprMachineState *spapr, int irq, int num); 110 qemu_irq spapr_qirq(struct SpaprMachineState *spapr, int irq); 111 int spapr_irq_post_load(struct SpaprMachineState *spapr, int version_id); 112 void spapr_irq_reset(struct SpaprMachineState *spapr, Error **errp); [all …]
|
H A D | spapr.h | 660 void push_sregs_to_kvm_pr(SpaprMachineState *spapr); 900 void close_htab_fd(SpaprMachineState *spapr); 901 void spapr_setup_hpt(SpaprMachineState *spapr); 902 void spapr_free_hpt(SpaprMachineState *spapr); 932 int spapr_max_server_number(SpaprMachineState *spapr); 982 #define HTAB_SIZE(spapr) (1ULL << ((spapr)->htab_shift)) argument 1011 return spapr->eff.caps[cap]; in spapr_get_cap() 1014 void spapr_caps_init(SpaprMachineState *spapr); 1015 void spapr_caps_apply(SpaprMachineState *spapr); 1046 void spapr_watchdog_init(SpaprMachineState *spapr); [all …]
|
H A D | spapr_numa.h | 25 void spapr_numa_associativity_init(SpaprMachineState *spapr, 27 void spapr_numa_associativity_check(SpaprMachineState *spapr); 28 void spapr_numa_write_rtas_dt(SpaprMachineState *spapr, void *fdt, int rtas); 29 void spapr_numa_write_associativity_dt(SpaprMachineState *spapr, void *fdt, 31 int spapr_numa_fixup_cpu_dt(SpaprMachineState *spapr, void *fdt, 33 int spapr_numa_write_assoc_lookup_arrays(SpaprMachineState *spapr, void *fdt,
|
/qemu/hw/intc/ |
H A D | xics_spapr.c | 66 CHECK_EMULATED_XICS_HCALL(spapr); in h_cppr() 78 CHECK_EMULATED_XICS_HCALL(spapr); in h_ipi() 93 CHECK_EMULATED_XICS_HCALL(spapr); in h_xirr() 104 CHECK_EMULATED_XICS_HCALL(spapr); in h_xirr_x() 116 CHECK_EMULATED_XICS_HCALL(spapr); in h_eoi() 129 CHECK_EMULATED_XICS_HCALL(spapr); in h_ipoll() 156 ICSState *ics = spapr->ics; in rtas_set_xive() 159 CHECK_EMULATED_XICS_RTAS(spapr, rets); in rtas_set_xive() 191 ICSState *ics = spapr->ics; in rtas_get_xive() 223 ICSState *ics = spapr->ics; in rtas_int_off() [all …]
|
H A D | spapr_xive.c | 940 SpaprXive *xive = spapr->xive; in h_int_get_source_info() 1052 SpaprXive *xive = spapr->xive; in h_int_set_source_config() 1161 SpaprXive *xive = spapr->xive; in h_int_get_source_config() 1236 SpaprXive *xive = spapr->xive; in h_int_get_queue_info() 1324 SpaprXive *xive = spapr->xive; in h_int_set_queue_config() 1495 SpaprXive *xive = spapr->xive; in h_int_get_queue_config() 1681 SpaprMachineState *spapr, in h_int_esb() argument 1685 SpaprXive *xive = spapr->xive; in h_int_esb() 1761 SpaprXive *xive = spapr->xive; in h_int_sync() 1830 SpaprXive *xive = spapr->xive; in h_int_reset() [all …]
|
/qemu/hw/watchdog/ |
H A D | spapr_watchdog.c | 92 for (i = 1; i <= ARRAY_SIZE(spapr->wds); ++i) { in watchdog_stop_all() 108 unsigned num = w - spapr->wds; in watchdog_expired() 110 g_assert(num < ARRAY_SIZE(spapr->wds)); in watchdog_expired() 126 watchdog_stop_all(spapr); in watchdog_expired() 148 if (watchdogNumber > ARRAY_SIZE(spapr->wds)) { in h_watchdog() 155 w = &spapr->wds[watchdogNumber - 1]; in h_watchdog() 172 ret = watchdog_stop_all(spapr); in h_watchdog() 183 ARRAY_SIZE(spapr->wds)); in h_watchdog() 200 void spapr_watchdog_init(SpaprMachineState *spapr) in spapr_watchdog_init() argument 204 for (i = 0; i < ARRAY_SIZE(spapr->wds); ++i) { in spapr_watchdog_init() [all …]
|
/qemu/hw/char/ |
H A D | spapr_vty.c | 104 static target_ulong h_put_term_char(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_put_term_char() argument 114 sdev = vty_lookup(spapr, reg); in h_put_term_char() 131 static target_ulong h_get_term_char(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_get_term_char() argument 141 sdev = vty_lookup(spapr, reg); in h_get_term_char() 244 SpaprVioDevice *vty_lookup(SpaprMachineState *spapr, target_ulong reg) in vty_lookup() argument 248 sdev = spapr_vio_find_by_reg(spapr->vio_bus, reg); in vty_lookup() 255 return spapr_vty_get_default(spapr->vio_bus); in vty_lookup()
|
/qemu/docs/system/ppc/ |
H A D | pseries.rst | 96 * ``spapr-vlan`` : a virtual network interface. 101 * ``spapr-vty``: a virtual teletype. 102 * ``spapr-pci-host-bridge``: a PCI host bridge. 104 * ``spapr-tpm-proxy``: a TPM proxy. 117 * A NVRAM device (``spapr-nvram``). 118 * A virtual teletype (``spapr-vty``). 142 ../../specs/ppc-spapr-hotplug.rst 143 ../../specs/ppc-spapr-hcalls.rst 144 ../../specs/ppc-spapr-numa.rst 145 ../../specs/ppc-spapr-uv-hcalls.rst [all …]
|
/qemu/include/hw/pci-host/ |
H A D | spapr.h | 110 int spapr_dt_phb(SpaprMachineState *spapr, SpaprPhbState *phb, 115 SpaprPhbState *spapr_pci_find_phb(SpaprMachineState *spapr, uint64_t buid); 116 PCIDevice *spapr_pci_find_dev(SpaprMachineState *spapr, uint64_t buid, 121 int spapr_pci_dt_populate(SpaprDrc *drc, SpaprMachineState *spapr,
|
/qemu/tests/qtest/libqos/ |
H A D | meson.build | 13 # spapr 14 'malloc-spapr.c', 15 'libqos-spapr.c', 17 'pci-spapr.c',
|