X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fgeekos%2Ftimer.c;h=7c15550fd4100b0bb481965f884788559fc4571a;hb=6e4e420878127452162de114cba8a26f354351a4;hp=34f752b7c48a8f3e75fd90934c2c6d4b631ab647;hpb=645c766b13d15fd70cd360e577eac1f62e07149f;p=palacios.git diff --git a/palacios/src/geekos/timer.c b/palacios/src/geekos/timer.c index 34f752b..7c15550 100644 --- a/palacios/src/geekos/timer.c +++ b/palacios/src/geekos/timer.c @@ -2,7 +2,7 @@ * GeekOS timer interrupt support * Copyright (c) 2001,2003 David H. Hovemeyer * Copyright (c) 2003, Jeffrey K. Hollingsworth - * $Revision: 1.5 $ + * $Revision: 1.9 $ * * This is free software. You are permitted to use, * redistribute, and modify it as specified in the file "COPYING". @@ -19,6 +19,9 @@ #include +/* PAD this currently is in nvram.c */ +extern void deliver_timer_interrupt_to_vmm(uint_t period_us); + /* JRL Add a cpu frequency measurement */ uint_t cpu_khz_freq; @@ -206,13 +209,22 @@ static void Timer_Interrupt_Handler(struct Interrupt_State* state) Begin_IRQ(state); - SerialPrintLevel(1,"Host Timer Interrupt Handler Running\n"); + +#if 0 +#define STACK_LEN 256 + + SerialPrint("Host Timer Interrupt Handler running\n"); + SerialPrint("Timer====\n"); + Dump_Interrupt_State(state); + // SerialMemDump((unsigned char*)(¤t),STACK_LEN); + SerialPrint("Timer done===\n"); + +#endif /* Update global and per-thread number of ticks */ ++g_numTicks; ++current->numTicks; - /* * If thread has been running for an entire quantum, * inform the interrupt return code that we want @@ -223,6 +235,8 @@ static void Timer_Interrupt_Handler(struct Interrupt_State* state) } + deliver_timer_interrupt_to_vmm(1000000/HZ); + End_IRQ(state); }