Blame view

kernel/linux-rt-4.4.41/arch/x86/include/asm/timer.h 1002 Bytes
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  #ifndef _ASM_X86_TIMER_H
  #define _ASM_X86_TIMER_H
  #include <linux/pm.h>
  #include <linux/percpu.h>
  #include <linux/interrupt.h>
  #include <linux/math64.h>
  
  #define TICK_SIZE (tick_nsec / 1000)
  
  unsigned long long native_sched_clock(void);
  extern int recalibrate_cpu_khz(void);
  
  extern int no_timer_check;
  
  /*
   * We use the full linear equation: f(x) = a + b*x, in order to allow
   * a continuous function in the face of dynamic freq changes.
   *
   * Continuity means that when our frequency changes our slope (b); we want to
   * ensure that: f(t) == f'(t), which gives: a + b*t == a' + b'*t.
   *
   * Without an offset (a) the above would not be possible.
   *
   * See the comment near cycles_2_ns() for details on how we compute (b).
   */
  struct cyc2ns_data {
  	u32 cyc2ns_mul;
  	u32 cyc2ns_shift;
  	u64 cyc2ns_offset;
  	u32 __count;
  	/* u32 hole */
  }; /* 24 bytes -- do not grow */
  
  extern struct cyc2ns_data *cyc2ns_read_begin(void);
  extern void cyc2ns_read_end(struct cyc2ns_data *);
  
  #endif /* _ASM_X86_TIMER_H */