Skip to contentSkip to conversation

/proc/cpuinfo fixes for G5

PATCH New Benjamin Herrenschmidt 1 participant 1 message Mar 4, 2004 PowerPC

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 /proc/cpuinfo fixes for G5

Hi !

This patch adds a "timbase" entry in /proc/cpuinfo like p/iSeries that provides the CPU timebase frequency. It is using by a all sort of performance analysis tools we are hacking in house.

It also remove a useless bit about the l2 cache that was copied over from ppc32.

Ben.

===== arch/ppc64/kernel/pmac_time.c 1.1 vs edited =====

arch/ppc64/kernel/pmac_time.c +3 -0
@@ -39,6 +39,8 @@
 
 extern void setup_default_decr(void);
 
+extern unsigned long ppc_tb_freq;
+
 /* Apparently the RTC stores seconds since 1 Jan 1904 */
 #define RTC_OFFSET	2082844800
 
@@ -151,6 +153,7 @@
 	tb_to_us = mulhwu_scale_factor(freq, 1000000);
 	div128_by_32( 1024*1024, 0, tb_ticks_per_sec, &divres );
 	tb_to_xs = divres.result_low;
+	ppc_tb_freq = freq;
 
 	setup_default_decr();
 }

===== arch/ppc64/kernel/pmac_setup.c 1.5 vs edited =====

arch/ppc64/kernel/pmac_setup.c +4 -12
@@ -95,6 +95,7 @@
 					PMAC_MB_INFO_MODEL, 0);
 	unsigned int mbflags = pmac_call_feature(PMAC_FTR_GET_MB_INFO, NULL,
 						 PMAC_MB_INFO_FLAGS, 0);
+	extern unsigned long ppc_tb_freq;
 
 	if (pmac_call_feature(PMAC_FTR_GET_MB_INFO, NULL, PMAC_MB_INFO_NAME,
 			      (long)&mbname) != 0)
@@ -127,20 +128,11 @@
 	seq_printf(m, "detected as\t: %d (%s)\n", mbmodel, mbname);
 	seq_printf(m, "pmac flags\t: %08x\n", mbflags);
 
-	/* Checks "l2cr-value" property in the registry */
-	np = find_devices("cpus");	
-	if (np == 0)
-		np = find_type_devices("cpu");	
-	if (np != 0) {
-		unsigned int *l2cr = (unsigned int *)
-			get_property(np, "l2cr-value", NULL);
-		if (l2cr != 0) {
-			seq_printf(m, "l2cr override\t: 0x%x\n", *l2cr);
-		}
-	}
-
 	/* Indicate newworld */
 	seq_printf(m, "pmac-generation\t: NewWorld\n");
+
+	/* Indicate timebase value */
+	seq_printf(m, "timebase\t: %lu\n", ppc_tb_freq);
 }