--- Gnu-Mach/kern/timer.c 2020/09/02 04:36:56 1.1 +++ Gnu-Mach/kern/timer.c 2020/09/02 04:47:23 1.1.1.4 @@ -1,32 +1,29 @@ -/* +/* * Mach Operating System * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University * All Rights Reserved. - * + * * Permission to use, copy, modify and distribute this software and its * documentation is hereby granted, provided that both the copyright * notice and this permission notice appear in all copies of the * software, derivative works or modified versions, and any portions * thereof, and that both notices appear in supporting documentation. - * + * * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * + * * Carnegie Mellon requests users of this software to return to - * + * * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU * School of Computer Science * Carnegie Mellon University * Pittsburgh PA 15213-3890 - * + * * any improvements or extensions that they make and grant Carnegie Mellon * the rights to redistribute these changes. */ -#include -#include - #include #include #include @@ -43,17 +40,15 @@ timer_t current_timer[NCPUS]; timer_data_t kernel_timer[NCPUS]; -void timer_init(); /* forward */ - /* * init_timers initializes all non-thread timers and puts the * service routine on the callout queue. All timers must be * serviced by the callout routine once an hour. */ -void init_timers() +void init_timers(void) { - register int i; - register timer_t this_timer; + int i; + timer_t this_timer; /* * Initialize all the kernel timers and start the one @@ -71,9 +66,7 @@ void init_timers() /* * timer_init initializes a single timer. */ -void timer_init(this_timer) -register -timer_t this_timer; +void timer_init(timer_t this_timer) { this_timer->low_bits = 0; this_timer->high_bits = 0; @@ -82,7 +75,7 @@ timer_t this_timer; } #if STAT_TIME -#else STAT_TIME +#else /* STAT_TIME */ #ifdef MACHINE_TIMER_ROUTINES @@ -97,8 +90,7 @@ timer_t this_timer; * exactly once for each cpu during the boot sequence. */ void -start_timer(timer) -timer_t timer; +start_timer(timer_t timer) { timer->tstamp = get_timestamp(); current_timer[cpu_number()] = timer; @@ -111,8 +103,7 @@ timer_t timer; * from user mode. */ void -time_trap_uentry(ts) -unsigned ts; +time_trap_uentry(unsigned ts) { int elapsed; int mycpu; @@ -126,7 +117,7 @@ unsigned ts; elapsed = ts - mytimer->tstamp; #ifdef TIMER_MAX if (elapsed < 0) elapsed += TIMER_MAX; -#endif TIMER_MAX +#endif /* TIMER_MAX */ /* * Update current timer. @@ -153,7 +144,7 @@ unsigned ts; * user mode. */ void -time_trap_uexit(ts) +time_trap_uexit(int ts) { int elapsed; int mycpu; @@ -167,7 +158,7 @@ time_trap_uexit(ts) elapsed = ts - mytimer->tstamp; #ifdef TIMER_MAX if (elapsed < 0) elapsed += TIMER_MAX; -#endif TIMER_MAX +#endif /* TIMER_MAX */ /* * Update current timer. @@ -197,9 +188,9 @@ time_trap_uexit(ts) * saved for time_int_exit. */ timer_t -time_int_entry(ts,new_timer) -unsigned ts; -timer_t new_timer; +time_int_entry( + unsigned ts, + timer_t new_timer) { int elapsed; int mycpu; @@ -214,7 +205,7 @@ timer_t new_timer; elapsed = ts - mytimer->tstamp; #ifdef TIMER_MAX if (elapsed < 0) elapsed += TIMER_MAX; -#endif TIMER_MAX +#endif /* TIMER_MAX */ /* * Update current timer. @@ -238,9 +229,9 @@ timer_t new_timer; * it. */ void -time_int_exit(ts, old_timer) -unsigned ts; -timer_t old_timer; +time_int_exit( + unsigned ts, + timer_t old_timer) { int elapsed; int mycpu; @@ -254,7 +245,7 @@ timer_t old_timer; elapsed = ts - mytimer->tstamp; #ifdef TIMER_MAX if (elapsed < 0) elapsed += TIMER_MAX; -#endif TIMER_MAX +#endif /* TIMER_MAX */ /* * Update current timer. @@ -285,8 +276,7 @@ timer_t old_timer; * Caller must lock out interrupts. */ void -timer_switch(new_timer) -timer_t new_timer; +timer_switch(timer_t new_timer) { int elapsed; int mycpu; @@ -302,7 +292,7 @@ timer_t new_timer; elapsed = ts - mytimer->tstamp; #ifdef TIMER_MAX if (elapsed < 0) elapsed += TIMER_MAX; -#endif TIMER_MAX +#endif /* TIMER_MAX */ /* * Update current timer. @@ -325,15 +315,13 @@ timer_t new_timer; } #endif /* MACHINE_TIMER_ROUTINES */ -#endif STAT_TIME +#endif /* STAT_TIME */ /* * timer_normalize normalizes the value of a timer. It is * called only rarely, to make sure low_bits never overflows. */ -void timer_normalize(timer) -register -timer_t timer; +void timer_normalize(timer_t timer) { unsigned int high_increment; @@ -355,13 +343,13 @@ timer_t timer; * * Critical scheduling code uses TIMER_DELTA macro in timer.h * (called from thread_timer_delta in sched.h). - * + * * Keep coherent with db_time_grab below. */ -static void timer_grab(timer, save) -timer_t timer; -timer_save_t save; +static void timer_grab( + timer_t timer, + timer_save_t save) { #if MACH_ASSERT unsigned int passes=0; @@ -382,7 +370,7 @@ timer_save_t save; #if MACH_ASSERT passes++; assert((passes < 10000) ? (1) : ((timer->high_bits_check = save->high), 0)); -#endif +#endif } while ( (save)->high != (timer)->high_bits_check); } @@ -393,9 +381,9 @@ timer_save_t save; * above. * */ -void db_timer_grab(timer, save) -timer_t timer; -timer_save_t save; +void db_timer_grab( + timer_t timer, + timer_save_t save) { /* Don't worry about coherency */ @@ -412,10 +400,9 @@ timer_save_t save; */ void -timer_read(timer, tv) -timer_t timer; -register -time_value_t *tv; +timer_read( + timer_t timer, + time_value_t *tv) { timer_save_data_t temp; @@ -425,7 +412,7 @@ time_value_t *tv; */ #ifdef TIMER_ADJUST TIMER_ADJUST(&temp); -#endif TIMER_ADJUST +#endif /* TIMER_ADJUST */ tv->seconds = temp.high + temp.low/1000000; tv->microseconds = temp.low%1000000; @@ -439,20 +426,20 @@ time_value_t *tv; * * Needs to be kept coherent with thread_read_times ahead. */ -void thread_read_times(thread, user_time_p, system_time_p) - thread_t thread; - time_value_t *user_time_p; - time_value_t *system_time_p; +void thread_read_times( + thread_t thread, + time_value_t *user_time_p, + time_value_t *system_time_p) { timer_save_data_t temp; - register timer_t timer; + timer_t timer; timer = &thread->user_timer; timer_grab(timer, &temp); #ifdef TIMER_ADJUST TIMER_ADJUST(&temp); -#endif TIMER_ADJUST +#endif /* TIMER_ADJUST */ user_time_p->seconds = temp.high + temp.low/1000000; user_time_p->microseconds = temp.low % 1000000; @@ -461,7 +448,7 @@ void thread_read_times(thread, user_time #ifdef TIMER_ADJUST TIMER_ADJUST(&temp); -#endif TIMER_ADJUST +#endif /* TIMER_ADJUST */ system_time_p->seconds = temp.high + temp.low/1000000; system_time_p->microseconds = temp.low % 1000000; } @@ -473,20 +460,20 @@ void thread_read_times(thread, user_time * thread_read_times above. * */ -void db_thread_read_times(thread, user_time_p, system_time_p) - thread_t thread; - time_value_t *user_time_p; - time_value_t *system_time_p; +void db_thread_read_times( + thread_t thread, + time_value_t *user_time_p, + time_value_t *system_time_p) { timer_save_data_t temp; - register timer_t timer; + timer_t timer; timer = &thread->user_timer; db_timer_grab(timer, &temp); #ifdef TIMER_ADJUST TIMER_ADJUST(&temp); -#endif TIMER_ADJUST +#endif /* TIMER_ADJUST */ user_time_p->seconds = temp.high + temp.low/1000000; user_time_p->microseconds = temp.low % 1000000; @@ -495,7 +482,7 @@ void db_thread_read_times(thread, user_t #ifdef TIMER_ADJUST TIMER_ADJUST(&temp); -#endif TIMER_ADJUST +#endif /* TIMER_ADJUST */ system_time_p->seconds = temp.high + temp.low/1000000; system_time_p->microseconds = temp.low % 1000000; } @@ -508,13 +495,12 @@ void db_thread_read_times(thread, user_t */ unsigned -timer_delta(timer, save) -register -timer_t timer; -timer_save_t save; +timer_delta( + timer_t timer, + timer_save_t save) { timer_save_data_t new_save; - register unsigned result; + unsigned result; timer_grab(timer,&new_save); result = (new_save.high - save->high) * TIMER_HIGH_UNIT +