diff options
author | Daniel Henrique Barboza | 2020-09-04 19:24:21 +0200 |
---|---|---|
committer | David Gibson | 2020-09-08 03:34:18 +0200 |
commit | d370f9cf0aac54b091047392427d3d5ec93182c3 (patch) | |
tree | 267fc22d1c5d3bae00aee534752d6ef6ba4f5879 /include/hw | |
parent | spapr: move h_home_node_associativity to spapr_numa.c (diff) | |
download | qemu-d370f9cf0aac54b091047392427d3d5ec93182c3.tar.gz qemu-d370f9cf0aac54b091047392427d3d5ec93182c3.tar.xz qemu-d370f9cf0aac54b091047392427d3d5ec93182c3.zip |
spapr_numa: create a vcpu associativity helper
The work to be done in h_home_node_associativity() intersects
with what is already done in spapr_numa_fixup_cpu_dt(). This
patch creates a new helper, spapr_numa_get_vcpu_assoc(), to
be used for both spapr_numa_fixup_cpu_dt() and
h_home_node_associativity().
While we're at it, use memcpy() instead of loop assignment
to created the returned array.
Reviewed-by: Greg Kurz <groug@kaod.org>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20200904172422.617460-3-danielhb413@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'include/hw')
-rw-r--r-- | include/hw/ppc/spapr.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h index 9a63380801..e50a2672e3 100644 --- a/include/hw/ppc/spapr.h +++ b/include/hw/ppc/spapr.h @@ -107,13 +107,18 @@ typedef enum { /* * NUMA related macros. MAX_DISTANCE_REF_POINTS was taken - * from Taken from Linux kernel arch/powerpc/mm/numa.h. + * from Linux kernel arch/powerpc/mm/numa.h. It represents the + * amount of associativity domains for non-CPU resources. * * NUMA_ASSOC_SIZE is the base array size of an ibm,associativity * array for any non-CPU resource. + * + * VCPU_ASSOC_SIZE represents the size of ibm,associativity array + * for CPUs, which has an extra element (vcpu_id) in the end. */ #define MAX_DISTANCE_REF_POINTS 4 #define NUMA_ASSOC_SIZE (MAX_DISTANCE_REF_POINTS + 1) +#define VCPU_ASSOC_SIZE (NUMA_ASSOC_SIZE + 1) typedef struct SpaprCapabilities SpaprCapabilities; struct SpaprCapabilities { |