Home
last modified time | relevance | path

Searched refs:spapr (Results 1 – 25 of 48) sorted by relevance

12

/qemu/hw/ppc/
H A Dspapr_irq.c41 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 Dspapr_vof.c20 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 Dspapr.c681 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 Dspapr_numa.c36 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 Dspapr_hcall.c95 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 Dspapr_caps.c174 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 Dspapr_events.c415 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 Dspapr_rtas.c60 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 Dspapr_vhyp_mmu.c52 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 Dspapr_nested.c13 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 Dspapr_pci.c70 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 Dspapr_vio.c165 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 Dspapr_cpu_core.c36 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 Dspapr_rtas_ddw.c94 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 Dspapr_nvdimm.c142 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 Dspapr_irq.h82 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 Dspapr.h660 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 Dspapr_numa.h25 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 Dxics_spapr.c66 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 Dspapr_xive.c940 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 Dspapr_watchdog.c92 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 Dspapr_vty.c104 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 Dpseries.rst96 * ``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 Dspapr.h110 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 Dmeson.build13 # spapr
14 'malloc-spapr.c',
15 'libqos-spapr.c',
17 'pci-spapr.c',

12