]>
Commit | Line | Data |
---|---|---|
6601e61a | 1 | /* |
0c530ab8 | 2 | * Copyright (c) 2004-2006 Apple Computer, Inc. All rights reserved. |
6601e61a A |
3 | * |
4 | * @APPLE_LICENSE_HEADER_START@ | |
5 | * | |
6 | * The contents of this file constitute Original Code as defined in and | |
7 | * are subject to the Apple Public Source License Version 1.1 (the | |
8 | * "License"). You may not use this file except in compliance with the | |
9 | * License. Please obtain a copy of the License at | |
10 | * http://www.apple.com/publicsource and read it before using this file. | |
11 | * | |
12 | * This Original Code and all software distributed under the License are | |
13 | * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER | |
14 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, | |
15 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, | |
16 | * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the | |
17 | * License for the specific language governing rights and limitations | |
18 | * under the License. | |
19 | * | |
20 | * @APPLE_LICENSE_HEADER_END@ | |
21 | */ | |
22 | /* | |
23 | * @OSF_COPYRIGHT@ | |
24 | */ | |
0c530ab8 A |
25 | /* |
26 | * @APPLE_FREE_COPYRIGHT@ | |
27 | */ | |
28 | /* | |
29 | * File: tsc.h | |
30 | * Purpose: Contains the TSC initialization and conversion | |
31 | * factors. | |
32 | */ | |
33 | #ifdef KERNEL_PRIVATE | |
34 | #ifndef _I386_TSC_H_ | |
35 | #define _I386_TSC_H_ | |
36 | ||
37 | #define BusRatioShift 40 | |
38 | #define BusRatioMask 0x1F | |
39 | #define IA32_PERF_STS 0x198 | |
40 | ||
41 | extern uint64_t busFCvtt2n; | |
42 | extern uint64_t busFCvtn2t; | |
43 | extern uint64_t tscFreq; | |
44 | extern uint64_t tscFCvtt2n; | |
45 | extern uint64_t tscFCvtn2t; | |
46 | extern uint64_t tscGranularity; | |
47 | extern uint64_t bus2tsc; | |
48 | ||
49 | struct tscInfo | |
50 | { | |
51 | uint64_t busFCvtt2n; | |
52 | uint64_t busFCvtn2t; | |
53 | uint64_t tscFreq; | |
54 | uint64_t tscFCvtt2n; | |
55 | uint64_t tscFCvtn2t; | |
56 | uint64_t tscGranularity; | |
57 | uint64_t bus2tsc; | |
58 | }; | |
59 | typedef struct tscInfo tscInfo_t; | |
60 | ||
61 | extern void tsc_get_info(tscInfo_t *info); | |
6601e61a | 62 | |
0c530ab8 | 63 | extern void tsc_init(void); |
6601e61a | 64 | |
0c530ab8 A |
65 | #endif /* _I386_TSC_H_ */ |
66 | #endif /* KERNEL_PRIVATE */ |