linux-stable/tools/power/cpupower
Prarit Bhargava 47f03c780e cpupower: Fix coredump on VMWare
[ Upstream commit f69ffc5d3d ]

cpupower crashes on VMWare guests.  The guests have the AMD PStateDef MSR
(0xC0010064 + state number) set to zero.  As a result fid and did are zero
and the crash occurs because of a divide by zero (cof = fid/did).  This
can be prevented by checking the enable bit in the PStateDef MSR before
calculating cof.  By doing this the value of pstate[i] remains zero and
the value can be tested before displaying the active Pstates.

Check the enable bit in the PstateDef register for all supported families
and only print out enabled Pstates.

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Stafford Horne <shorne@gmail.com>
Signed-off-by: Shuah Khan (Samsung OSG) <shuah@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-11-13 11:08:22 -08:00
..
bench cpupower: fix spelling mistake: "logilename" -> "logfilename" 2018-05-10 10:24:30 -06:00
debug License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
lib cpupower: Remove FSF address 2017-12-15 08:27:39 -07:00
man Fix cpupower manpages "NAME" section 2016-04-28 16:02:29 +02:00
po treewide: convert ISO_8859-1 text comments to utf-8 2018-08-23 18:48:43 -07:00
utils cpupower: Fix coredump on VMWare 2018-11-13 11:08:22 -08:00
.gitignore tools/power/cpupower: add libcpupower.so.0.0.1 to .gitignore 2017-11-09 10:52:22 -07:00
Makefile kbuild: /bin/pwd -> pwd 2017-11-18 11:32:27 +09:00
README cpupower: Remove dead link to homepage, and update the targets built. 2014-05-17 00:36:36 +02:00
ToDo cpupower: Remove dead link to homepage, and update the targets built. 2014-05-17 00:36:36 +02:00

The cpupower package consists of the following elements:

requirements
------------

On x86 pciutils is needed at runtime (-lpci).
For compilation pciutils-devel (pci/pci.h) and a gcc version
providing cpuid.h is needed.
For both it's not explicitly checked for (yet).


libcpupower
----------

"libcpupower" is a library which offers a unified access method for userspace
tools and programs to the cpufreq core and drivers in the Linux kernel. This
allows for code reduction in userspace tools, a clean implementation of
the interaction to the cpufreq core, and support for both the sysfs and proc
interfaces [depending on configuration, see below].


compilation and installation
----------------------------

make
su
make install

should suffice on most systems. It builds libcpupower to put in
/usr/lib; cpupower, cpufreq-bench_plot.sh to put in /usr/bin; and
cpufreq-bench to put in /usr/sbin. If you want to set up the paths
differently and/or want to configure the package to your specific
needs, you need to open "Makefile" with an editor of your choice and
edit the block marked CONFIGURATION.


THANKS
------
Many thanks to Mattia Dongili who wrote the autotoolization and
libtoolization, the manpages and the italian language file for cpupower;
to Dave Jones for his feedback and his dump_psb tool; to Bruno Ducrot for his
powernow-k8-decode and intel_gsic tools as well as the french language file;
and to various others commenting on the previous (pre-)releases of 
cpupower.


        Dominik Brodowski