oprofile/x86: implement IBS cpuid feature detection
authorRobert Richter <robert.richter@amd.com>
Thu, 4 Feb 2010 09:57:23 +0000 (10:57 +0100)
committerRobert Richter <robert.richter@amd.com>
Fri, 26 Feb 2010 14:14:02 +0000 (15:14 +0100)
commit64683da6643e8c6c93f1f99548399b08c029fd13
tree3fe0eeb22348933fd37ef6f2a452fed5d9cde35a
parent89baaaa98a10cad5cc8516c7208b02d9fc711890
oprofile/x86: implement IBS cpuid feature detection

This patch adds IBS feature detection using cpuid flags. An IBS
capability mask is introduced to test for certain IBS features. The
bit mask is the same as for IBS cpuid feature flags (Fn8000_001B_EAX),
but bit 0 is used to indicate the existence of IBS.

The patch also changes the handling of the IbsOpCntCtl bit (periodic
op counter count control). The oprofilefs file for this feature
(ibs_op/dispatched_ops) will be only exposed if the feature is
available, also the default for the bit is set to count clock cycles.

In general, the userland can detect the availability of a feature by
checking for the corresponding file in oprofilefs. If it exists, the
feature also exists. This may lead to a dynamic file layout depending
on the cpu type with that the userland has to deal with. Current
opcontrol is compatible.

Signed-off-by: Robert Richter <robert.richter@amd.com>
arch/x86/oprofile/op_model_amd.c