On 06/18/2014 07:59 AM, H. Peter Anvin wrote: > On 06/18/2014 07:35 AM, Dave Hansen wrote: >> It looks like static_cpu_has() is the right thing to use instead of >> boot_cpu_has(). But, this doesn't just obfuscate things. >> >> We actually _want_ the compiler to cull code out when the config option >> is off. Things like do_bounds() will see code savings with _some_ kind >> of #ifdef rather than using static_cpu_has(). >> >> So, we can either use the well worn, consistent with other features in >> x86, cpu_has_$foo approach. Or, we can roll our own macros. > > We could do something like: > > #define MPX_ENABLED (IS_ENABLED(CONFIG_X86_MPX) && > static_cpu_has(X86_FEATURE_MPX)) How about something like the attached patch? This lets us use static_cpu_has() for the checks, and allows us to easily add new checks for other features that might be compile-time disabled.