[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 03/10] x86/cpu-policy: Infrastructure for MSR_ARCH_CAPS
On 24.05.2023 13:25, Andrew Cooper wrote: > Bits through 24 are already defined, meaning that we're not far off needing > the second word. Put both in right away. > > As both halves are present now, the arch_caps field is full width. Adjust the > unit test, which notices. > > The bool bitfield names in the arch_caps union are unused, and somewhat out of > date. They'll shortly be automatically generated. > > Add CPUID and MSR prefixes to the ./xen-cpuid verbose output, now that there > are a mix of the two. > > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Jan Beulich <jbeulich@xxxxxxxx> albeit ... > --- a/tools/misc/xen-cpuid.c > +++ b/tools/misc/xen-cpuid.c > @@ -226,31 +226,41 @@ static const char *const str_7d2[32] = > [ 4] = "bhi-ctrl", [ 5] = "mcdt-no", > }; > > +static const char *const str_10Al[32] = > +{ > +}; > + > +static const char *const str_10Ah[32] = > +{ > +}; > + > static const struct { > const char *name; > const char *abbr; > const char *const *strs; > } decodes[] = > { > - { "0x00000001.edx", "1d", str_1d }, > - { "0x00000001.ecx", "1c", str_1c }, > - { "0x80000001.edx", "e1d", str_e1d }, > - { "0x80000001.ecx", "e1c", str_e1c }, > - { "0x0000000d:1.eax", "Da1", str_Da1 }, > - { "0x00000007:0.ebx", "7b0", str_7b0 }, > - { "0x00000007:0.ecx", "7c0", str_7c0 }, > - { "0x80000007.edx", "e7d", str_e7d }, > - { "0x80000008.ebx", "e8b", str_e8b }, > - { "0x00000007:0.edx", "7d0", str_7d0 }, > - { "0x00000007:1.eax", "7a1", str_7a1 }, > - { "0x80000021.eax", "e21a", str_e21a }, > - { "0x00000007:1.ebx", "7b1", str_7b1 }, > - { "0x00000007:2.edx", "7d2", str_7d2 }, > - { "0x00000007:1.ecx", "7c1", str_7c1 }, > - { "0x00000007:1.edx", "7d1", str_7d1 }, > + { "CPUID 0x00000001.edx", "1d", str_1d }, > + { "CPUID 0x00000001.ecx", "1c", str_1c }, > + { "CPUID 0x80000001.edx", "e1d", str_e1d }, > + { "CPUID 0x80000001.ecx", "e1c", str_e1c }, > + { "CPUID 0x0000000d:1.eax", "Da1", str_Da1 }, > + { "CPUID 0x00000007:0.ebx", "7b0", str_7b0 }, > + { "CPUID 0x00000007:0.ecx", "7c0", str_7c0 }, > + { "CPUID 0x80000007.edx", "e7d", str_e7d }, > + { "CPUID 0x80000008.ebx", "e8b", str_e8b }, > + { "CPUID 0x00000007:0.edx", "7d0", str_7d0 }, > + { "CPUID 0x00000007:1.eax", "7a1", str_7a1 }, > + { "CPUID 0x80000021.eax", "e21a", str_e21a }, > + { "CPUID 0x00000007:1.ebx", "7b1", str_7b1 }, > + { "CPUID 0x00000007:2.edx", "7d2", str_7d2 }, > + { "CPUID 0x00000007:1.ecx", "7c1", str_7c1 }, > + { "CPUID 0x00000007:1.edx", "7d1", str_7d1 }, ... I'm not really happy about this added verbosity. In a tool of this name, I think it's pretty clear that unadorned names are CPUID stuff. > + { "MSR 0x0000010a.lo", "m10Al", str_10Al }, > + { "MSR 0x0000010a.hi", "m10Ah", str_10Ah }, Once we gain a few more MSRs, I'm afraid the raw numbers aren't going to be very useful. As vaguely suggested before, how about { "MSR_ARCH_CAPS.lo", "m10Al", str_10Al }, { "MSR_ARCH_CAPS.hi", "m10Ah", str_10Ah }, ? Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |