xref: /onnv-gate/usr/src/grub/grub-0.97/netboot/timer.c (revision 8044:b3af80bbf173)
1*8044SWilliam.Kucharski@Sun.COM /* A couple of routines to implement a low-overhead timer for drivers */
2*8044SWilliam.Kucharski@Sun.COM 
3*8044SWilliam.Kucharski@Sun.COM  /*
4*8044SWilliam.Kucharski@Sun.COM  * This program is free software; you can redistribute it and/or
5*8044SWilliam.Kucharski@Sun.COM  * modify it under the terms of the GNU General Public License as
6*8044SWilliam.Kucharski@Sun.COM  * published by the Free Software Foundation; either version 2, or (at
7*8044SWilliam.Kucharski@Sun.COM  * your option) any later version.
8*8044SWilliam.Kucharski@Sun.COM  */
9*8044SWilliam.Kucharski@Sun.COM #include        "grub.h"
10*8044SWilliam.Kucharski@Sun.COM #include	"timer.h"
11*8044SWilliam.Kucharski@Sun.COM 
12*8044SWilliam.Kucharski@Sun.COM /* Machine Independant timer helper functions */
13*8044SWilliam.Kucharski@Sun.COM 
mdelay(unsigned int msecs)14*8044SWilliam.Kucharski@Sun.COM void mdelay(unsigned int msecs)
15*8044SWilliam.Kucharski@Sun.COM {
16*8044SWilliam.Kucharski@Sun.COM 	unsigned int i;
17*8044SWilliam.Kucharski@Sun.COM 	for(i = 0; i < msecs; i++) {
18*8044SWilliam.Kucharski@Sun.COM 		udelay(1000);
19*8044SWilliam.Kucharski@Sun.COM 		poll_interruptions();
20*8044SWilliam.Kucharski@Sun.COM 	}
21*8044SWilliam.Kucharski@Sun.COM }
22*8044SWilliam.Kucharski@Sun.COM 
waiton_timer2(unsigned int ticks)23*8044SWilliam.Kucharski@Sun.COM void waiton_timer2(unsigned int ticks)
24*8044SWilliam.Kucharski@Sun.COM {
25*8044SWilliam.Kucharski@Sun.COM 	load_timer2(ticks);
26*8044SWilliam.Kucharski@Sun.COM 	while(timer2_running()) {
27*8044SWilliam.Kucharski@Sun.COM 		poll_interruptions();
28*8044SWilliam.Kucharski@Sun.COM 	}
29*8044SWilliam.Kucharski@Sun.COM }
30