home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-s390 / timer.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.1 KB  |  51 lines

  1. /*
  2.  *  include/asm-s390/timer.h
  3.  *
  4.  *  (C) Copyright IBM Corp. 2003,2006
  5.  *  Virtual CPU timer
  6.  *
  7.  *  Author: Jan Glauber (jang@de.ibm.com)
  8.  */
  9.  
  10. #ifndef _ASM_S390_TIMER_H
  11. #define _ASM_S390_TIMER_H
  12.  
  13. #ifdef __KERNEL__
  14.  
  15. #include <linux/timer.h>
  16.  
  17. #define VTIMER_MAX_SLICE (0x7ffffffffffff000LL)
  18.  
  19. struct vtimer_list {
  20.     struct list_head entry;
  21.  
  22.     int cpu;
  23.     __u64 expires;
  24.     __u64 interval;
  25.  
  26.     spinlock_t lock;
  27.     unsigned long magic;
  28.  
  29.     void (*function)(unsigned long, struct pt_regs*);
  30.     unsigned long data;
  31. };
  32.  
  33. /* the offset value will wrap after ca. 71 years */
  34. struct vtimer_queue {
  35.     struct list_head list;
  36.     spinlock_t lock;
  37.     __u64 to_expire;      /* current event expire time */
  38.     __u64 offset;          /* list offset to zero */
  39.     __u64 idle;          /* temp var for idle */
  40. };
  41.  
  42. extern void init_virt_timer(struct vtimer_list *timer);
  43. extern void add_virt_timer(void *new);
  44. extern void add_virt_timer_periodic(void *new);
  45. extern int mod_virt_timer(struct vtimer_list *timer, __u64 expires);
  46. extern int del_virt_timer(struct vtimer_list *timer);
  47.  
  48. #endif /* __KERNEL__ */
  49.  
  50. #endif /* _ASM_S390_TIMER_H */
  51.