[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 08/25] x86/cpuid: Introduce named feature bitfields
>>> On 09.01.17 at 12:03, <andrew.cooper3@xxxxxxxxxx> wrote: > --- a/xen/include/asm-x86/cpuid.h > +++ b/xen/include/asm-x86/cpuid.h > @@ -92,6 +92,10 @@ struct cpuid_policy > * Everything else should be considered inaccurate, and not necesserily > 0. > */ > > +#define DECL_BITFIELD(word) _DECL_BITFIELD(FEATURESET_ ## word) > +#define _DECL_BITFIELD(x) __DECL_BITFIELD(x) > +#define __DECL_BITFIELD(x) NAMED_BITFIELD_ ## x If this was a C file, I'd be fine with this naming choice, but in a header I think it would be better to reduce the chance of name space issues and use CPUID_BITFIELD_ ## x instead here (and - obviously - in the script). > @@ -291,6 +292,28 @@ def crunch_numbers(state): > for k, v in state.deep_deps.iteritems(): > state.deep_deps[k] = featureset_to_uint32s(v, nr_entries) > > + # Calculate the bitfield name declarations > + for word in xrange(nr_entries): > + > + names = [] > + for bit in xrange(32): > + > + name = state.names.get(word * 32 + bit, "") > + > + # Prepend an underscore if the name starts with a digit. > + if name and name[0] in "0123456789": > + name = "_" + name > + > + # Don't generate names for the duplicate features, or ones > + # fast-forwarded from other state > + if (name.startswith("E1D_") or > + name in ("APIC", "OSXSAVE", "OSPKE")): > + name = "" > + > + names.append(name.lower()) > + > + state.bitfields.append("bool " + ":1, ".join(names) + ":1") It's probably my rudimentary Python knowledge that makes me confused by the two :1 here. I trust the result is what it needs to be. So with the naming aspect addressed Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |