at v3.5 51 lines 1.3 kB view raw
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#include <linux/timer.h> 14 15#define VTIMER_MAX_SLICE (0x7ffffffffffff000LL) 16 17struct vtimer_list { 18 struct list_head entry; 19 20 int cpu; 21 __u64 expires; 22 __u64 interval; 23 24 void (*function)(unsigned long); 25 unsigned long data; 26}; 27 28/* the vtimer value will wrap after ca. 71 years */ 29struct vtimer_queue { 30 struct list_head list; 31 spinlock_t lock; 32 __u64 timer; /* last programmed timer */ 33 __u64 elapsed; /* elapsed time of timer expire values */ 34 __u64 idle_enter; /* cpu timer on idle enter */ 35 __u64 idle_exit; /* cpu timer on idle exit */ 36}; 37 38extern void init_virt_timer(struct vtimer_list *timer); 39extern void add_virt_timer(void *new); 40extern void add_virt_timer_periodic(void *new); 41extern int mod_virt_timer(struct vtimer_list *timer, __u64 expires); 42extern int mod_virt_timer_periodic(struct vtimer_list *timer, __u64 expires); 43extern int del_virt_timer(struct vtimer_list *timer); 44 45extern void init_cpu_vtimer(void); 46extern void vtime_init(void); 47 48extern void vtime_stop_cpu(void); 49extern void vtime_start_leave(void); 50 51#endif /* _ASM_S390_TIMER_H */