/* Secondary processor "takes" the timebase by freezing * it, resetting its local TB and telling CPU 0 to go on */ pmac_call_feature(PMAC_FTR_WRITE_GPIO, NULL, core99_tb_gpio, 4); pmac_call_feature(PMAC_FTR_READ_GPIO, NULL, core99_tb_gpio, 0); 
unsigned long flags;  /* tell the primary we're here */ sec_tb_reset = 1; 
void __init smp_core99_take_timebase(void){	/* Secondary processor "takes" the timebase by freezing	 * it, resetting its local TB and telling CPU 0 to go on	 */	pmac_call_feature(PMAC_FTR_WRITE_GPIO, NULL, core99_tb_gpio, 4);	pmac_call_feature(PMAC_FTR_READ_GPIO, NULL, core99_tb_gpio, 0);	mb();	set_dec(tb_ticks_per_jiffy);	set_tb(0, 0);	last_jiffy_stamp(smp_processor_id()) = 0;	mb();       	sec_tb_reset = 1;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/6460b4cceba0181308042c8d8794eb679bfa22e5/pmac_smp.c/buggy/arch/ppc/platforms/pmac_smp.c