powerpc: Expose PMCs & cache topology in sysfs on 32-bit
The file arch/powerpc/kernel/sysfs.c is currently only compiled for 64-bit kernels. It contain code to register CPU sysdevs in sysfs and add various properties such as cache topology and raw access by root to performance monitor counters (PMCs). A lot of that can be re-used as is on 32-bits. This makes the file be built for both, with appropriate ifdef'ing for the few bits that are really 64-bit specific, and adds some support for the raw PMCs for 75x and 74xx processors. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
committed by
Paul Mackerras
parent
41eba0ad00
commit
b950bdd0fc
@@ -610,6 +610,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 4,
|
||||
.pmc_type = PPC_PMC_IBM,
|
||||
.cpu_setup = __setup_cpu_750cx,
|
||||
.machine_check = machine_check_generic,
|
||||
.platform = "ppc750",
|
||||
@@ -623,6 +624,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 4,
|
||||
.pmc_type = PPC_PMC_IBM,
|
||||
.cpu_setup = __setup_cpu_750cx,
|
||||
.machine_check = machine_check_generic,
|
||||
.platform = "ppc750",
|
||||
@@ -636,6 +638,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 4,
|
||||
.pmc_type = PPC_PMC_IBM,
|
||||
.cpu_setup = __setup_cpu_750cx,
|
||||
.machine_check = machine_check_generic,
|
||||
.platform = "ppc750",
|
||||
@@ -649,6 +652,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 4,
|
||||
.pmc_type = PPC_PMC_IBM,
|
||||
.cpu_setup = __setup_cpu_750,
|
||||
.machine_check = machine_check_generic,
|
||||
.platform = "ppc750",
|
||||
@@ -662,6 +666,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 4,
|
||||
.pmc_type = PPC_PMC_IBM,
|
||||
.cpu_setup = __setup_cpu_750,
|
||||
.machine_check = machine_check_generic,
|
||||
.platform = "ppc750",
|
||||
@@ -675,6 +680,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 4,
|
||||
.pmc_type = PPC_PMC_IBM,
|
||||
.cpu_setup = __setup_cpu_750,
|
||||
.machine_check = machine_check_generic,
|
||||
.platform = "ppc750",
|
||||
@@ -688,6 +694,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 4,
|
||||
.pmc_type = PPC_PMC_IBM,
|
||||
.cpu_setup = __setup_cpu_750,
|
||||
.machine_check = machine_check_generic,
|
||||
.platform = "ppc750",
|
||||
@@ -701,6 +708,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 4,
|
||||
.pmc_type = PPC_PMC_IBM,
|
||||
.cpu_setup = __setup_cpu_750fx,
|
||||
.machine_check = machine_check_generic,
|
||||
.platform = "ppc750",
|
||||
@@ -714,6 +722,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 4,
|
||||
.pmc_type = PPC_PMC_IBM,
|
||||
.cpu_setup = __setup_cpu_750fx,
|
||||
.machine_check = machine_check_generic,
|
||||
.platform = "ppc750",
|
||||
@@ -727,6 +736,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 4,
|
||||
.pmc_type = PPC_PMC_IBM,
|
||||
.cpu_setup = __setup_cpu_750,
|
||||
.machine_check = machine_check_generic,
|
||||
.platform = "ppc750",
|
||||
@@ -741,6 +751,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 4,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_7400,
|
||||
.machine_check = machine_check_generic,
|
||||
.platform = "ppc7400",
|
||||
@@ -755,6 +766,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 4,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_7400,
|
||||
.machine_check = machine_check_generic,
|
||||
.platform = "ppc7400",
|
||||
@@ -769,6 +781,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 4,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_7410,
|
||||
.machine_check = machine_check_generic,
|
||||
.platform = "ppc7400",
|
||||
@@ -783,6 +796,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 6,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_745x,
|
||||
.oprofile_cpu_type = "ppc/7450",
|
||||
.oprofile_type = PPC_OPROFILE_G4,
|
||||
@@ -799,6 +813,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 6,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_745x,
|
||||
.oprofile_cpu_type = "ppc/7450",
|
||||
.oprofile_type = PPC_OPROFILE_G4,
|
||||
@@ -815,6 +830,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 6,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_745x,
|
||||
.oprofile_cpu_type = "ppc/7450",
|
||||
.oprofile_type = PPC_OPROFILE_G4,
|
||||
@@ -831,6 +847,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 6,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_745x,
|
||||
.oprofile_cpu_type = "ppc/7450",
|
||||
.oprofile_type = PPC_OPROFILE_G4,
|
||||
@@ -847,6 +864,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 6,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_745x,
|
||||
.oprofile_cpu_type = "ppc/7450",
|
||||
.oprofile_type = PPC_OPROFILE_G4,
|
||||
@@ -863,6 +881,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 6,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_745x,
|
||||
.oprofile_cpu_type = "ppc/7450",
|
||||
.oprofile_type = PPC_OPROFILE_G4,
|
||||
@@ -879,6 +898,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 6,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_745x,
|
||||
.oprofile_cpu_type = "ppc/7450",
|
||||
.oprofile_type = PPC_OPROFILE_G4,
|
||||
@@ -895,6 +915,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 6,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_745x,
|
||||
.oprofile_cpu_type = "ppc/7450",
|
||||
.oprofile_type = PPC_OPROFILE_G4,
|
||||
@@ -910,6 +931,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 6,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_745x,
|
||||
.oprofile_cpu_type = "ppc/7450",
|
||||
.oprofile_type = PPC_OPROFILE_G4,
|
||||
@@ -926,6 +948,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 6,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_745x,
|
||||
.oprofile_cpu_type = "ppc/7450",
|
||||
.oprofile_type = PPC_OPROFILE_G4,
|
||||
@@ -942,6 +965,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.num_pmcs = 6,
|
||||
.pmc_type = PPC_PMC_G4,
|
||||
.cpu_setup = __setup_cpu_745x,
|
||||
.oprofile_cpu_type = "ppc/7450",
|
||||
.oprofile_type = PPC_OPROFILE_G4,
|
||||
|
Reference in New Issue
Block a user