| 1 | /* |
|---|
| 2 | * This file is subject to the terms and conditions of the GNU General Public |
|---|
| 3 | * License. See the file "COPYING" in the main directory of this archive |
|---|
| 4 | * for more details. |
|---|
| 5 | * |
|---|
| 6 | * Copyright (C) 1998, 1999, 2003 by Ralf Baechle |
|---|
| 7 | */ |
|---|
| 8 | #ifndef _ASM_TIMEX_H |
|---|
| 9 | #define _ASM_TIMEX_H |
|---|
| 10 | |
|---|
| 11 | /* |
|---|
| 12 | * This is the frequency of the timer used for Linux's timer interrupt. |
|---|
| 13 | * The value should be defined as accurate as possible or under certain |
|---|
| 14 | * circumstances Linux timekeeping might become inaccurate or fail. |
|---|
| 15 | * |
|---|
| 16 | * For many system the exact clockrate of the timer isn't known but due to |
|---|
| 17 | * the way this value is used we can get away with a wrong value as long |
|---|
| 18 | * as this value is: |
|---|
| 19 | * |
|---|
| 20 | * - a multiple of HZ |
|---|
| 21 | * - a divisor of the actual rate |
|---|
| 22 | * |
|---|
| 23 | * 500000 is a good such cheat value. |
|---|
| 24 | * |
|---|
| 25 | * The obscure number 1193182 is the same as used by the original i8254 |
|---|
| 26 | * time in legacy PC hardware; the chip unfortunately also found in a |
|---|
| 27 | * bunch of MIPS systems. The last remaining user of the i8254 for the |
|---|
| 28 | * timer interrupt is the RM200; it's a very standard system so there is |
|---|
| 29 | * no reason to make this a separate architecture. |
|---|
| 30 | */ |
|---|
| 31 | |
|---|
| 32 | #include <timex.h> |
|---|
| 33 | |
|---|
| 34 | /* |
|---|
| 35 | * Standard way to access the cycle counter. |
|---|
| 36 | * Currently only used on SMP for scheduling. |
|---|
| 37 | * |
|---|
| 38 | * Only the low 32 bits are available as a continuously counting entity. |
|---|
| 39 | * But this only means we'll force a reschedule every 8 seconds or so, |
|---|
| 40 | * which isn't an evil thing. |
|---|
| 41 | * |
|---|
| 42 | * We know that all SMP capable CPUs have cycle counters. |
|---|
| 43 | */ |
|---|
| 44 | |
|---|
| 45 | typedef unsigned int cycles_t; |
|---|
| 46 | |
|---|
| 47 | #endif /* _ASM_TIMEX_H */ |
|---|