android_kernel_samsung_msm8976/tools/power
Josh Triplett 0e2d79ded0 turbostat: Use GCC's CPUID functions to support PIC
commit 2b92865e648ce04a39fda4f903784a5d01ecb0dc upstream.

turbostat uses inline assembly to call cpuid.  On 32-bit x86, on systems
that have certain security features enabled by default that make -fPIC
the default, this causes a build error:

turbostat.c: In function ‘check_cpuid’:
turbostat.c:1906:2: error: PIC register clobbered by ‘ebx’ in ‘asm’
  asm("cpuid" : "=a" (fms), "=c" (ecx), "=d" (edx) : "a" (1) : "ebx");
  ^

GCC provides a header cpuid.h, containing a __get_cpuid function that
works with both PIC and non-PIC.  (On PIC, it saves and restores ebx
around the cpuid instruction.)  Use that instead.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-13 13:48:00 -08:00
..
acpi ACPI tools / acpidump: must be run as root - install it into /usr/sbin 2013-02-05 23:35:32 +01:00
cpupower cpupower: Fix segfault due to incorrect getopt_long arugments 2014-01-09 12:24:22 -08:00
x86 turbostat: Use GCC's CPUID functions to support PIC 2014-02-13 13:48:00 -08:00