Home
last modified time | relevance | path

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

123

/openbmc/qemu/hw/ppc/
H A Dspapr_irq.c34 static void spapr_irq_msi_init(SpaprMachineState *spapr) in spapr_irq_msi_init() argument
36 if (SPAPR_MACHINE_GET_CLASS(spapr)->legacy_irq_allocation) { in spapr_irq_msi_init()
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()
45 int spapr_irq_msi_alloc(SpaprMachineState *spapr, uint32_t num, bool align, in spapr_irq_msi_alloc() argument
58 irq = bitmap_find_next_zero_area(spapr->irq_map, spapr->irq_map_nr, 0, num, in spapr_irq_msi_alloc()
60 if (irq == spapr->irq_map_nr) { in spapr_irq_msi_alloc()
65 bitmap_set(spapr->irq_map, irq, num); in spapr_irq_msi_alloc()
70 void spapr_irq_msi_free(SpaprMachineState *spapr, int irq, uint32_t num) in spapr_irq_msi_free() argument
72 bitmap_clear(spapr->irq_map, irq - SPAPR_IRQ_MSI, num); in spapr_irq_msi_free()
[all …]
H A Dspapr_vof.c17 target_ulong spapr_h_vof_client(PowerPCCPU *cpu, SpaprMachineState *spapr, in spapr_h_vof_client() argument
20 int ret = vof_client_call(MACHINE(spapr), spapr->vof, spapr->fdt_blob, in spapr_h_vof_client()
29 void spapr_vof_client_dt_finalize(SpaprMachineState *spapr, void *fdt) in spapr_vof_client_dt_finalize() argument
31 g_autofree char *stdout_path = spapr_vio_stdout_path(spapr->vio_bus); in spapr_vof_client_dt_finalize()
33 vof_build_dt(fdt, spapr->vof); in spapr_vof_client_dt_finalize()
35 if (spapr->vof->bootargs) { in spapr_vof_client_dt_finalize()
43 _FDT(fdt_setprop_string(fdt, chosen, "bootargs", spapr->vof->bootargs)); in spapr_vof_client_dt_finalize()
52 _FDT(vof_client_open_store(fdt, spapr->vof, "/chosen", "stdout", in spapr_vof_client_dt_finalize()
57 void spapr_vof_reset(SpaprMachineState *spapr, void *fdt, Error **errp) in spapr_vof_reset() argument
60 Vof *vof = spapr->vof; in spapr_vof_reset()
[all …]
H A Dspapr.c119 static int spapr_vcpu_id(SpaprMachineState *spapr, int cpu_index) in spapr_vcpu_id() argument
121 MachineState *ms = MACHINE(spapr); in spapr_vcpu_id()
124 assert(spapr->vsmt); in spapr_vcpu_id()
126 (cpu_index / smp_threads) * spapr->vsmt + cpu_index % smp_threads; in spapr_vcpu_id()
128 static bool spapr_is_thread0_in_vcore(SpaprMachineState *spapr, in spapr_is_thread0_in_vcore() argument
131 assert(spapr->vsmt); in spapr_is_thread0_in_vcore()
132 return spapr_get_vcpu_id(cpu) % spapr->vsmt == 0; in spapr_is_thread0_in_vcore()
135 int spapr_max_server_number(SpaprMachineState *spapr) in spapr_max_server_number() argument
137 MachineState *ms = MACHINE(spapr); in spapr_max_server_number()
139 assert(spapr->vsmt); in spapr_max_server_number()
[all …]
H A Dspapr_numa.c24 static int get_max_dist_ref_points(SpaprMachineState *spapr) in get_max_dist_ref_points() argument
26 if (spapr_ovec_test(spapr->ov5_cas, OV5_FORM2_AFFINITY)) { in get_max_dist_ref_points()
36 static int get_numa_assoc_size(SpaprMachineState *spapr) in get_numa_assoc_size() argument
38 if (spapr_ovec_test(spapr->ov5_cas, OV5_FORM2_AFFINITY)) { in get_numa_assoc_size()
51 static int get_vcpu_assoc_size(SpaprMachineState *spapr) in get_vcpu_assoc_size() argument
53 return get_numa_assoc_size(spapr) + 1; in get_vcpu_assoc_size()
60 static const uint32_t *get_associativity(SpaprMachineState *spapr, int node_id) in get_associativity() argument
62 if (spapr_ovec_test(spapr->ov5_cas, OV5_FORM2_AFFINITY)) { in get_associativity()
63 return spapr->FORM2_assoc_array[node_id]; in get_associativity()
65 return spapr->FORM1_assoc_array[node_id]; in get_associativity()
[all …]
H A Dspapr_hcall.c27 bool is_ram_address(SpaprMachineState *spapr, hwaddr addr) in is_ram_address() argument
29 MachineState *machine = MACHINE(spapr); in is_ram_address()
82 SpaprMachineState *spapr, in h_resize_hpt_prepare() argument
91 if (spapr->resize_hpt == SPAPR_RESIZE_HPT_DISABLED) { in h_resize_hpt_prepare()
95 if (!spapr->htab_shift) { in h_resize_hpt_prepare()
110 current_ram_size = MACHINE(spapr)->ram_size + get_plugged_memory_size(); in h_resize_hpt_prepare()
127 return vhyp_mmu_resize_hpt_prepare(cpu, spapr, shift); in h_resize_hpt_prepare()
146 void push_sregs_to_kvm_pr(SpaprMachineState *spapr) in push_sregs_to_kvm_pr() argument
155 if (!kvm_enabled() || !spapr->htab) { in push_sregs_to_kvm_pr()
165 SpaprMachineState *spapr, in h_resize_hpt_commit() argument
[all …]
H A Dspapr_caps.c66 void (*apply)(SpaprMachineState *spapr, uint8_t val, Error **errp);
67 void (*cpu_apply)(SpaprMachineState *spapr, PowerPCCPU *cpu,
76 SpaprMachineState *spapr = SPAPR_MACHINE(obj); in spapr_cap_get_bool() local
77 bool value = spapr_get_cap(spapr, cap->index) == SPAPR_CAP_ON; in spapr_cap_get_bool()
86 SpaprMachineState *spapr = SPAPR_MACHINE(obj); in spapr_cap_set_bool() local
93 spapr->cmd_line_caps[cap->index] = true; in spapr_cap_set_bool()
94 spapr->eff.caps[cap->index] = value ? SPAPR_CAP_ON : SPAPR_CAP_OFF; in spapr_cap_set_bool()
102 SpaprMachineState *spapr = SPAPR_MACHINE(obj); in spapr_cap_get_string() local
104 uint8_t value = spapr_get_cap(spapr, cap->index); in spapr_cap_get_string()
120 SpaprMachineState *spapr = SPAPR_MACHINE(obj); in spapr_cap_set_string() local
[all …]
H A Dspapr_events.c373 void spapr_dt_events(SpaprMachineState *spapr, void *fdt) in spapr_dt_events() argument
377 SpaprEventSource *events = spapr->event_sources; in spapr_dt_events()
411 rtas_event_log_to_source(SpaprMachineState *spapr, int log_type) in rtas_event_log_to_source() argument
415 g_assert(spapr->event_sources); in rtas_event_log_to_source()
419 source = spapr_event_sources_get_source(spapr->event_sources, in rtas_event_log_to_source()
421 if (spapr_ovec_test(spapr->ov5_cas, OV5_HP_EVT)) { in rtas_event_log_to_source()
427 source = spapr_event_sources_get_source(spapr->event_sources, in rtas_event_log_to_source()
437 static int rtas_event_log_to_irq(SpaprMachineState *spapr, int log_type) in rtas_event_log_to_irq() argument
441 source = rtas_event_log_to_source(spapr, log_type); in rtas_event_log_to_irq()
453 static void rtas_event_log_queue(SpaprMachineState *spapr, in rtas_event_log_queue() argument
[all …]
H A Dspapr_rtas.c54 static void rtas_display_character(PowerPCCPU *cpu, SpaprMachineState *spapr, in rtas_display_character() argument
60 SpaprVioDevice *sdev = vty_lookup(spapr, 0); in rtas_display_character()
70 static void rtas_power_off(PowerPCCPU *cpu, SpaprMachineState *spapr, in rtas_power_off() argument
83 static void rtas_system_reboot(PowerPCCPU *cpu, SpaprMachineState *spapr, in rtas_system_reboot() argument
97 SpaprMachineState *spapr, in rtas_query_cpu_stopped_state() argument
127 static void rtas_start_cpu(PowerPCCPU *callcpu, SpaprMachineState *spapr, in rtas_start_cpu() argument
203 static void rtas_stop_self(PowerPCCPU *cpu, SpaprMachineState *spapr, in rtas_stop_self() argument
224 static void rtas_ibm_suspend_me(PowerPCCPU *cpu, SpaprMachineState *spapr, in rtas_ibm_suspend_me() argument
268 SpaprMachineState *spapr, in rtas_ibm_get_system_parameter() argument
274 MachineState *ms = MACHINE(spapr); in rtas_ibm_get_system_parameter()
[all …]
H A Dspapr_vhyp_mmu.c19 static target_ulong h_enter(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_enter() argument
39 if (is_ram_address(spapr, raddr)) { in h_enter()
130 static target_ulong h_remove(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_remove() argument
178 static target_ulong h_bulk_remove(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_bulk_remove() argument
230 static target_ulong h_protect(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_protect() argument
269 static target_ulong h_read(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_read() argument
348 static void cancel_hpt_prepare(SpaprMachineState *spapr) in cancel_hpt_prepare() argument
350 SpaprPendingHpt *pending = spapr->pending_hpt; in cancel_hpt_prepare()
353 spapr->pending_hpt = NULL; in cancel_hpt_prepare()
369 SpaprMachineState *spapr, in vhyp_mmu_resize_hpt_prepare() argument
[all …]
H A Dspapr_nested.c13 void spapr_nested_reset(SpaprMachineState *spapr) in spapr_nested_reset() argument
15 if (spapr_get_cap(spapr, SPAPR_CAP_NESTED_KVM_HV)) { in spapr_nested_reset()
18 } else if (spapr_get_cap(spapr, SPAPR_CAP_NESTED_PAPR)) { in spapr_nested_reset()
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()
35 bool spapr_get_pate_nested_hv(SpaprMachineState *spapr, PowerPCCPU *cpu, in spapr_get_pate_nested_hv() argument
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()
[all …]
H A Dspapr_pci.c66 SpaprPhbState *spapr_pci_find_phb(SpaprMachineState *spapr, uint64_t buid) in spapr_pci_find_phb() argument
70 QLIST_FOREACH(sphb, &spapr->phbs, list) { in spapr_pci_find_phb()
80 PCIDevice *spapr_pci_find_dev(SpaprMachineState *spapr, uint64_t buid, in spapr_pci_find_dev() argument
83 SpaprPhbState *sphb = spapr_pci_find_phb(spapr, buid); in spapr_pci_find_dev()
101 static void finish_read_pci_config(SpaprMachineState *spapr, uint64_t buid, in finish_read_pci_config() argument
114 pci_dev = spapr_pci_find_dev(spapr, buid, addr); in finish_read_pci_config()
131 static void rtas_ibm_read_pci_config(PowerPCCPU *cpu, SpaprMachineState *spapr, in rtas_ibm_read_pci_config() argument
148 finish_read_pci_config(spapr, buid, addr, size, rets); in rtas_ibm_read_pci_config()
151 static void rtas_read_pci_config(PowerPCCPU *cpu, SpaprMachineState *spapr, in rtas_read_pci_config() argument
166 finish_read_pci_config(spapr, 0, addr, size, rets); in rtas_read_pci_config()
[all …]
H A Dspapr_vio.c159 static target_ulong h_reg_crq(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_reg_crq() argument
165 SpaprVioDevice *dev = spapr_vio_find_by_reg(spapr->vio_bus, reg); in h_reg_crq()
215 static target_ulong h_free_crq(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_free_crq() argument
219 SpaprVioDevice *dev = spapr_vio_find_by_reg(spapr->vio_bus, reg); in h_free_crq()
229 static target_ulong h_send_crq(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_send_crq() argument
235 SpaprVioDevice *dev = spapr_vio_find_by_reg(spapr->vio_bus, reg); in h_send_crq()
252 static target_ulong h_enable_crq(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_enable_crq() argument
256 SpaprVioDevice *dev = spapr_vio_find_by_reg(spapr->vio_bus, reg); in h_enable_crq()
330 static void rtas_set_tce_bypass(PowerPCCPU *cpu, SpaprMachineState *spapr, in rtas_set_tce_bypass() argument
335 SpaprVioBus *bus = spapr->vio_bus; in rtas_set_tce_bypass()
[all …]
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_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()
260 static bool spapr_realize_vcpu(PowerPCCPU *cpu, SpaprMachineState *spapr, in spapr_realize_vcpu() argument
270 cpu_ppc_set_vhyp(cpu, PPC_VIRTUAL_HYPERVISOR(spapr)); in spapr_realize_vcpu()
281 if (spapr_irq_cpu_intc_create(spapr, cpu, errp) < 0) { in spapr_realize_vcpu()
334 SpaprMachineState *spapr = in spapr_cpu_core_realize() local
341 if (!spapr) { in spapr_cpu_core_realize()
357 if (!cpu || !spapr_realize_vcpu(cpu, spapr, sc, i, errp)) { in spapr_cpu_core_realize()
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 …]
/openbmc/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,
86 void spapr_irq_cpu_intc_reset(struct SpaprMachineState *spapr, PowerPCCPU *cpu);
87 void spapr_irq_cpu_intc_destroy(struct SpaprMachineState *spapr, PowerPCCPU *cpu);
88 void spapr_irq_print_info(struct SpaprMachineState *spapr, GString *buf);
89 void spapr_irq_dt(struct SpaprMachineState *spapr, uint32_t nr_servers,
92 uint32_t spapr_irq_nr_msis(struct SpaprMachineState *spapr);
93 int spapr_irq_msi_alloc(struct SpaprMachineState *spapr, uint32_t num, bool align,
95 void spapr_irq_msi_free(struct SpaprMachineState *spapr, int irq, uint32_t num);
107 void spapr_irq_init(struct SpaprMachineState *spapr, Error **errp);
[all …]
H A Dspapr.h157 bool (*phb_placement)(SpaprMachineState *spapr, uint32_t index,
650 SpaprMachineState *spapr,
653 SpaprMachineState *spapr,
656 bool is_ram_address(SpaprMachineState *spapr, hwaddr addr);
657 void push_sregs_to_kvm_pr(SpaprMachineState *spapr);
826 void spapr_load_rtas(SpaprMachineState *spapr, void *fdt, hwaddr addr);
894 void *spapr_build_fdt(SpaprMachineState *spapr, bool reset, size_t space);
897 void close_htab_fd(SpaprMachineState *spapr);
898 void spapr_setup_hpt(SpaprMachineState *spapr);
899 void spapr_free_hpt(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,
/openbmc/qemu/hw/intc/
H A Dxics_spapr.c42 static bool check_emulated_xics(SpaprMachineState *spapr, const char *func) in check_emulated_xics() argument
44 if (spapr_ovec_test(spapr->ov5_cas, OV5_XIVE_EXPLOIT) || in check_emulated_xics()
54 #define CHECK_EMULATED_XICS_HCALL(spapr) \ argument
56 if (!check_emulated_xics((spapr), __func__)) { \
61 static target_ulong h_cppr(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_cppr() argument
66 CHECK_EMULATED_XICS_HCALL(spapr); in h_cppr()
72 static target_ulong h_ipi(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_ipi() argument
76 ICPState *icp = xics_icp_get(XICS_FABRIC(spapr), args[0]); in h_ipi()
78 CHECK_EMULATED_XICS_HCALL(spapr); in h_ipi()
88 static target_ulong h_xirr(PowerPCCPU *cpu, SpaprMachineState *spapr, in h_xirr() argument
[all …]
H A Dspapr_xive.c935 SpaprMachineState *spapr, in h_int_get_source_info() argument
939 SpaprXive *xive = spapr->xive; in h_int_get_source_info()
946 if (!spapr_ovec_test(spapr->ov5_cas, OV5_XIVE_EXPLOIT)) { in h_int_get_source_info()
1047 SpaprMachineState *spapr, in h_int_set_source_config() argument
1051 SpaprXive *xive = spapr->xive; in h_int_set_source_config()
1063 if (!spapr_ovec_test(spapr->ov5_cas, OV5_XIVE_EXPLOIT)) { in h_int_set_source_config()
1156 SpaprMachineState *spapr, in h_int_get_source_config() argument
1160 SpaprXive *xive = spapr->xive; in h_int_get_source_config()
1170 if (!spapr_ovec_test(spapr->ov5_cas, OV5_XIVE_EXPLOIT)) { in h_int_get_source_config()
1231 SpaprMachineState *spapr, in h_int_get_queue_info() argument
[all …]
/openbmc/qemu/hw/watchdog/
H A Dspapr_watchdog.c87 static target_ulong watchdog_stop_all(SpaprMachineState *spapr) in watchdog_stop_all() argument
92 for (i = 1; i <= ARRAY_SIZE(spapr->wds); ++i) { in watchdog_stop_all()
93 target_ulong r = watchdog_stop(i, &spapr->wds[i - 1]); in watchdog_stop_all()
107 SpaprMachineState *spapr = SPAPR_MACHINE(qdev_get_machine()); in watchdog_expired() local
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()
131 SpaprMachineState *spapr, in h_watchdog() argument
148 if (watchdogNumber > ARRAY_SIZE(spapr->wds)) { in h_watchdog()
155 w = &spapr->wds[watchdogNumber - 1]; in h_watchdog()
[all …]
/openbmc/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()
/openbmc/qemu/docs/system/ppc/
H A Dpseries.rst105 * ``spapr-vlan`` : a virtual network interface.
106 * ``spapr-vscsi`` : a virtual SCSI disk interface.
107 * ``spapr-rng`` : a pseudo-device for passing random number generator data to the
110 * ``spapr-vty``: a virtual teletype.
111 * ``spapr-pci-host-bridge``: a PCI host bridge.
112 * ``tpm-spapr``: a Trusted Platform Module (TPM).
113 * ``spapr-tpm-proxy``: a TPM proxy.
126 * A NVRAM device (``spapr-nvram``).
127 * A virtual teletype (``spapr-vty``).
128 * A PCI host bridge (``spapr-pci-host-bridge``).
[all …]
/openbmc/qemu/include/hw/pci-host/
H A Dspapr.h105 int spapr_dt_phb(SpaprMachineState *spapr, SpaprPhbState *phb,
110 SpaprPhbState *spapr_pci_find_phb(SpaprMachineState *spapr, uint64_t buid);
111 PCIDevice *spapr_pci_find_dev(SpaprMachineState *spapr, uint64_t buid,
116 int spapr_pci_dt_populate(SpaprDrc *drc, SpaprMachineState *spapr,
/openbmc/qemu/tests/qtest/libqos/
H A Dmeson.build13 # spapr
14 'malloc-spapr.c',
15 'libqos-spapr.c',
17 'pci-spapr.c',

123