~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/arch/um/kernel/time.c

Version: ~ [ 0.6-2.3.46 ] ~
Architecture: ~ [ um ] ~

** Warning: Cannot open xref database.

1 #include <stdio.h> 2 #include <unistd.h> 3 #include <sys/time.h> 4 #include <signal.h> 5 #include <errno.h> 6 #include "user_util.h" 7 #include "kern_util.h" 8 #include "proc_arch.h" 9 #include "user.h" 10 11 extern void timer_handler(int signal); 12 13 static struct itimerval profile_interval; 14 15 void get_profile_timer(void) 16 { 17 getitimer(ITIMER_PROF, &profile_interval); 18 } 19 20 static void set_interval(void) 21 { 22 struct itimerval interval; 23 24 interval.it_interval.tv_sec = 0; 25 interval.it_interval.tv_usec = 100000; 26 interval.it_value.tv_sec = 0; 27 interval.it_value.tv_usec = 100000; 28 if(setitimer(ITIMER_VIRTUAL, &interval, NULL) == -1) 29 panic("setitimer ITIMER_VIRTUAL failed - errno = %d\n", errno); 30 } 31 32 void time_init(void) 33 { 34 if(signal(SIGVTALRM, timer_handler) == SIG_ERR) 35 panic("Couldn't set SIGVTALRM handler"); 36 set_interval(); 37 } 38 39 void set_timers(void) 40 { 41 __sighandler_t handler; 42 struct sigaction action; 43 44 set_interval(); 45 handler = signal(SIGPROF, SIG_DFL); 46 action.sa_handler = handler; 47 sigemptyset(&action.sa_mask); 48 action.sa_flags = SA_RESTART; 49 action.sa_restorer = NULL; 50 if(sigaction(SIGPROF, &action, NULL) < 0) 51 panic("sigaction failed"); 52 if(setitimer(ITIMER_PROF, &profile_interval, NULL) == -1) 53 panic("setitimer ITIMER_PROF failed - errno = %d\n", errno); 54 } 55 56 extern unsigned long loops_per_sec; 57 58 void __delay(unsigned long time) 59 { 60 int i; 61 62 for(i=0;i<loops_per_sec;i++) ; 63 } 64 65 extern void __udelay(unsigned long usecs) 66 { 67 int i, n; 68 69 n = loops_per_sec/1000000; 70 for(i=0;i<n;i++) ; 71 } 72 73 extern void __const_udelay(unsigned long usecs) 74 { 75 int i, n; 76 77 n = loops_per_sec/1000000; 78 for(i=0;i<n;i++) ; 79 } 80 81 void do_gettimeofday(struct timeval *tv) 82 { 83 gettimeofday(tv, NULL); 84 } 85 86 void do_settimeofday(struct timeval *tv) 87 { 88 UNDEFINED_BODY("do_settimeofday"); 89 } 90

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.