Hi,
In this version there was significant design changes after the
v5 review. Only patches 1 and 5 were present in the last version.
changes from v5:
- patch order was changed to make all the preliminary work without
adding FORM2 code;
- FORM1 and FORM2 data now co-exists. Both are being initialized in
spapr_numa_associativity_init() in two static arrays called
'FORM1_assoc_array' and 'FORM2_assoc_array'. 'numa_assoc_array' is now a
pointer that toggles between those 2;
- spapr_numa_associativity_reset() switches the NUMA affinity data to be
used. It is not a replace for associativity_init() as it was in v5;
- 'legacy_numa' concept was removed;
- FORM2 affinity init() is now completely separated from FORM1;
- FORM2 ibm,associativity array only contains size and numa_id for non-CPU
resources, and an extra vcpu_id for CPUs;
- FORM2 reference-points is { 1 };
- FORM2 maxdomain has size = 2;
- several other changes to accomodate the new design of having to deal with
2 different data structures, while minimizing changes in the write_dt()
functions
Daniel Henrique Barboza (6):
spapr_numa.c: split FORM1 code into helpers
spapr_numa.c: scrap 'legacy_numa' concept
spapr: introduce spapr_numa_associativity_reset()
spapr_numa.c: parametrize FORM1 macros
spapr: move FORM1 verifications to post CAS
spapr_numa.c: FORM2 NUMA affinity support
hw/ppc/spapr.c | 55 +++---
hw/ppc/spapr_hcall.c | 7 +
hw/ppc/spapr_numa.c | 382 ++++++++++++++++++++++++++++++------
include/hw/ppc/spapr.h | 25 +--
include/hw/ppc/spapr_numa.h | 2 +
include/hw/ppc/spapr_ovec.h | 1 +
6 files changed, 362 insertions(+), 110 deletions(-)
--
2.31.1