x86, cpu: Add AMD core boosting feature flag to /proc/cpuinfo
authorBorislav Petkov <borislav.petkov@amd.com>
Wed, 31 Mar 2010 19:56:41 +0000 (21:56 +0200)
committerH. Peter Anvin <hpa@zytor.com>
Fri, 9 Apr 2010 21:05:23 +0000 (14:05 -0700)
By semi-popular demand, this adds the Core Performance Boost feature
flag to /proc/cpuinfo. Possible use case for this is userspace tools
like cpufreq-aperf, for example, so that they don't have to jump through
hoops of accessing "/dev/cpu/%d/cpuid" in order to check for CPB hw
support, or call cpuid from userspace.

Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
LKML-Reference: <1270065406-1814-2-git-send-email-bp@amd64.org>
Reviewed-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/include/asm/cpufeature.h
arch/x86/kernel/cpu/addon_cpuid_features.c

index 0cd82d0..630e623 100644 (file)
  */
 #define X86_FEATURE_IDA                (7*32+ 0) /* Intel Dynamic Acceleration */
 #define X86_FEATURE_ARAT       (7*32+ 1) /* Always Running APIC Timer */
+#define X86_FEATURE_CPB                (7*32+ 2) /* AMD Core Performance Boost */
 
 /* Virtualization flags: Linux defined */
 #define X86_FEATURE_TPR_SHADOW  (8*32+ 0) /* Intel TPR Shadow */
index 97ad79c..ead2a1c 100644 (file)
@@ -30,8 +30,9 @@ void __cpuinit init_scattered_cpuid_features(struct cpuinfo_x86 *c)
        const struct cpuid_bit *cb;
 
        static const struct cpuid_bit __cpuinitconst cpuid_bits[] = {
-               { X86_FEATURE_IDA, CR_EAX, 1, 0x00000006 },
-               { X86_FEATURE_ARAT, CR_EAX, 2, 0x00000006 },
+               { X86_FEATURE_IDA,   CR_EAX, 1, 0x00000006 },
+               { X86_FEATURE_ARAT,  CR_EAX, 2, 0x00000006 },
+               { X86_FEATURE_CPB,   CR_EDX, 9, 0x80000007 },
                { X86_FEATURE_NPT,   CR_EDX, 0, 0x8000000a },
                { X86_FEATURE_LBRV,  CR_EDX, 1, 0x8000000a },
                { X86_FEATURE_SVML,  CR_EDX, 2, 0x8000000a },