powerpc: Indicate which oprofile counters to use while in compat mode
authorTorez Smith <lnxtorez@linux.vnet.ibm.com>
Thu, 17 Jul 2008 20:42:07 +0000 (06:42 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 22 Jul 2008 00:39:36 +0000 (10:39 +1000)
commit79e25bac124a7d1d7bf966f06dd9398a1b5f3d20
treeaab261c7e4fc562cc21f81055ad8cab622bd2040
parent542a3a3bc9d9c176f7cb332948df1cb8ff91fa64
powerpc: Indicate which oprofile counters to use while in compat mode

While running on a system with new hardware and a kernel where the
cpu_specs[] table does not recognize the new hardware, the identify_cpu()
routine will select the default case as it searches through cpu_specs[]
in an attempt to match the real PVR. Once the default case is selected,
non of the oprofile counters and/or fields have been set up or defined.

When identify_cpu() is called once more with the logical PVR, some of
the cpu specific fields are replaced with the exception of the oprofile
related ones. However, in the case where we have actually taken the
default case while searching for the real PVR, we need to tell
oprofile that we are now running in compatibility mode so it can pick up
the correct counters. We do this by setting the oprofile_cpu_type field
to be that taken from the cpu_specs[] for the cpu we are now emulating.

This change will detect that we are now altering the real PVR and determine
if we also need to update the oprofile_cpu_type field.

Signed-off-by: Torez Smith <lnxtorez@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/cputable.c