Hi Daniel, > > -/* > > - * CPUTopoLevel is the general i386 topology hierarchical representation, > > - * ordered by increasing hierarchical relationship. > > - * Its enumeration value is not bound to the type value of Intel (CPUID[0x1F]) > > - * or AMD (CPUID[0x80000026]). > > - */ > > -enum CPUTopoLevel { > > - CPU_TOPO_LEVEL_INVALID, > > - CPU_TOPO_LEVEL_SMT, > > - CPU_TOPO_LEVEL_CORE, > > - CPU_TOPO_LEVEL_MODULE, > > - CPU_TOPO_LEVEL_DIE, > > - CPU_TOPO_LEVEL_PACKAGE, > > - CPU_TOPO_LEVEL_MAX, > > -}; > > - > > snip > > > @@ -18,3 +18,47 @@ > > ## > > { 'enum': 'S390CpuEntitlement', > > 'data': [ 'auto', 'low', 'medium', 'high' ] } > > + > > +## > > +# @CpuTopologyLevel: > > +# > > +# An enumeration of CPU topology levels. > > +# > > +# @invalid: Invalid topology level. > > Previously all topology levels were internal to QEMU, and IIUC > this CPU_TOPO_LEVEL_INVALID appears to have been a special > value to indicate the cache was absent ? Now I haven't support this logic. x86 CPU has a "l3-cache" property, and maybe that property can be implemented or replaced by the "invalid" level support you mentioned. > Now we're exposing this directly to the user as a settable > option. We need to explain what effect setting 'invalid' > has on the CPU cache config. If user set "invalid", QEMU will report the error message: qemu-system-x86_64: Invalid cache topology level: invalid. The topology should match valid CPU topology level Do you think this error message is sufficient? Thanks, Zhao