| /* |
| * QEMU PowerPC pSeries Logical Partition NUMA associativity handling |
| * |
| * Copyright IBM Corp. 2020 |
| * |
| * Authors: |
| * Daniel Henrique Barboza <danielhb413@gmail.com> |
| * |
| * This work is licensed under the terms of the GNU GPL, version 2 or later. |
| * See the COPYING file in the top-level directory. |
| */ |
| |
| #ifndef HW_SPAPR_NUMA_H |
| #define HW_SPAPR_NUMA_H |
| |
| #include "hw/boards.h" |
| #include "hw/ppc/spapr.h" |
| |
| /* |
| * Having both SpaprMachineState and MachineState as arguments |
| * feels odd, but it will spare a MACHINE() call inside the |
| * function. spapr_machine_init() is the only caller for it, and |
| * it has both pointers resolved already. |
| */ |
| void spapr_numa_associativity_init(SpaprMachineState *spapr, |
| MachineState *machine); |
| void spapr_numa_associativity_check(SpaprMachineState *spapr); |
| void spapr_numa_write_rtas_dt(SpaprMachineState *spapr, void *fdt, int rtas); |
| void spapr_numa_write_associativity_dt(SpaprMachineState *spapr, void *fdt, |
| int offset, int nodeid); |
| int spapr_numa_fixup_cpu_dt(SpaprMachineState *spapr, void *fdt, |
| int offset, PowerPCCPU *cpu); |
| int spapr_numa_write_assoc_lookup_arrays(SpaprMachineState *spapr, void *fdt, |
| int offset); |
| unsigned int spapr_numa_initial_nvgpu_numa_id(MachineState *machine); |
| |
| #endif /* HW_SPAPR_NUMA_H */ |