/proc/cpuinfo fixes for G5
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); }