40,7 → 40,6 |
|
#include "kernel/kern.h" |
#include "ll/i386/cons.h" |
|
#include "ll/i386/advtimer.h" |
|
#include "drivers/keyb.h" |
48,14 → 47,9 |
#define UPDATE_PERIOD 10000 |
#define UPDATE_WCET 1000 |
|
extern signed long long clk_per_msec; |
extern unsigned int clk_per_msec; |
extern unsigned int apic_clk_per_msec; |
|
extern signed long last_delta_clk_per_msec; |
extern signed long total_delta_clk_per_msec; |
|
extern unsigned char use_tsc; |
extern unsigned char use_cmos; |
|
void program_key_end(KEY_EVT *k) |
{ |
|
69,7 → 63,6 |
|
long nsec,sec,min,hrs,day; |
long mean_delay,tot_delay,num_delay; |
long total_percent; |
|
signed long long start,end,res; |
struct timespec s_test,startts,endts; |
120,29 → 113,12 |
day = hrs / 24; |
hrs %= 24; |
|
if (use_tsc) |
if (use_cmos) |
printf_xy(0,4,WHITE,"Timer Mode: TSC + CMOS"); |
else |
printf_xy(0,4,WHITE,"Timer Mode: TSC"); |
else |
printf_xy(0,4,WHITE,"Timer Mode: 8254"); |
printf_xy(0,5,WHITE,"Actual CPU Clk/msec: %12d",clk_per_msec); |
printf_xy(0,6,WHITE,"Actual APIC Clk/msec: %12d",apic_clk_per_msec); |
printf_xy(0,7,WHITE,"Actual Timer: %2ld d %2ld h %2ld m %2ld s %12ld ns",day,hrs,min,sec,(long)nsec); |
|
printf_xy(0,5,WHITE,"Actual Clk/msec: %12ld",(long)clk_per_msec); |
printf_xy(0,6,WHITE,"Actual Timer: %2ld d %2ld h %2ld m %2ld s %12ld ns",day,hrs,min,sec,(long)nsec); |
printf_xy(0,9,WHITE,"Timer Access Delay: %12ld ns",mean_delay); |
|
printf_xy(0,8,WHITE,"CMOS Adjustement setting"); |
printf_xy(0,9,WHITE,"CMOS last delta Clk/msec: %12ld",(long)last_delta_clk_per_msec); |
|
if (total_delta_clk_per_msec != 0) |
total_percent = clk_per_msec / abs(total_delta_clk_per_msec); |
else |
total_percent = 0; |
|
printf_xy(0,10,WHITE,"CMOS total delta Clk/msec: %12ld (1/%ld)",(long)total_delta_clk_per_msec,total_percent); |
|
printf_xy(0,12,WHITE,"Timer Access Delay: %12ld ns",mean_delay); |
|
task_endcycle(); |
|
} |