linux/arch/s390/include/asm/timer.h
<<
>>
Prefs
   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
  19struct vtimer_list {
  20        struct list_head entry;
  21
  22        int cpu;
  23        __u64 expires;
  24        __u64 interval;
  25
  26        void (*function)(unsigned long);
  27        unsigned long data;
  28};
  29
  30/* the vtimer value will wrap after ca. 71 years */
  31struct vtimer_queue {
  32        struct list_head list;
  33        spinlock_t lock;
  34        __u64 timer;            /* last programmed timer */
  35        __u64 elapsed;          /* elapsed time of timer expire values */
  36        __u64 idle;             /* temp var for idle */
  37        int do_spt;             /* =1: reprogram cpu timer in idle */
  38};
  39
  40extern void init_virt_timer(struct vtimer_list *timer);
  41extern void add_virt_timer(void *new);
  42extern void add_virt_timer_periodic(void *new);
  43extern int mod_virt_timer(struct vtimer_list *timer, __u64 expires);
  44extern int mod_virt_timer_periodic(struct vtimer_list *timer, __u64 expires);
  45extern int del_virt_timer(struct vtimer_list *timer);
  46
  47extern void init_cpu_vtimer(void);
  48extern void vtime_init(void);
  49
  50extern void vtime_stop_cpu(void);
  51extern void vtime_start_leave(void);
  52
  53#endif /* __KERNEL__ */
  54
  55#endif /* _ASM_S390_TIMER_H */
  56