Zhao Liu <zhao1.liu@xxxxxxxxx> writes: > Cache topology needs to be defined based on CPU topology levels. Thus, > define CPU topology enumeration in qapi/machine.json to make it generic > for all architectures. > > To match the general topology naming style, rename CPU_TOPO_LEVEL_SMT > and CPU_TOPO_LEVEL_PACKAGE to CPU_TOPO_LEVEL_THREAD and > CPU_TOPO_LEVEL_SOCKET. > > Also, enumerate additional topology levels for non-i386 arches, and add > a CPU_TOPO_LEVEL_DEFAULT to help future smp-cache object de-compatibilize > arch-specific cache topology settings. > > Signed-off-by: Zhao Liu <zhao1.liu@xxxxxxxxx> QAPI schema Acked-by: Markus Armbruster <armbru@xxxxxxxxxx> > --- > Changes since RFC v2: > * Dropped cpu-topology.h and cpu-topology.c since QAPI has the helper > (CpuTopologyLevel_str) to convert enum to string. (Markus) > * Fixed text format in machine.json (CpuTopologyLevel naming, 2 spaces > between sentences). (Markus) > * Added a new level "default" to de-compatibilize some arch-specific > topo settings. (Daniel) > * Moved CpuTopologyLevel to qapi/machine-common.json, at where the > cache enumeration and smp-cache object would be added. > - If smp-cache object is defined in qapi/machine.json, storage-daemon > will complain about the qmp cmds in qapi/machine.json during > compiling. At some point, we may have to rethink the split between machine.json, machine-target.json, and machine-common.json. Not this patch's problem.