Import upstream u-boot 1.1.4
[u-boot.git] / board / MAI / bios_emulator / scitech / src / pm / dos / cpuinfo.c
1 /****************************************************************************
2 *
3 *                         Ultra Long Period Timer
4 *
5 *  ========================================================================
6 *
7 *    The contents of this file are subject to the SciTech MGL Public
8 *    License Version 1.0 (the "License"); you may not use this file
9 *    except in compliance with the License. You may obtain a copy of
10 *    the License at http://www.scitechsoft.com/mgl-license.txt
11 *
12 *    Software distributed under the License is distributed on an
13 *    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
14 *    implied. See the License for the specific language governing
15 *    rights and limitations under the License.
16 *
17 *    The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.
18 *
19 *    The Initial Developer of the Original Code is SciTech Software, Inc.
20 *    All Rights Reserved.
21 *
22 *  ========================================================================
23 *
24 * Language:     ANSI C
25 * Environment:  DOS
26 *
27 * Description:  MSDOS specific code for the CPU detection module.
28 *
29 ****************************************************************************/
30
31 /*----------------------------- Implementation ----------------------------*/
32
33 /* External timing function */
34
35 void __ZTimerInit(void);
36
37 /****************************************************************************
38 REMARKS:
39 Do nothing for DOS because we don't have thread priorities.
40 ****************************************************************************/
41 #define SetMaxThreadPriority()      0
42
43 /****************************************************************************
44 REMARKS:
45 Do nothing for DOS because we don't have thread priorities.
46 ****************************************************************************/
47 #define RestoreThreadPriority(i)    (void)(i)
48
49 /****************************************************************************
50 REMARKS:
51 Initialise the counter and return the frequency of the counter.
52 ****************************************************************************/
53 static void GetCounterFrequency(
54     CPU_largeInteger *freq)
55 {
56     ulong   resolution;
57
58     __ZTimerInit();
59     ULZTimerResolution(&resolution);
60     freq->low = (ulong)(10000000000.0 / resolution);
61     freq->high = 0;
62 }
63
64 /****************************************************************************
65 REMARKS:
66 Read the counter and return the counter value.
67 ****************************************************************************/
68 #define GetCounter(t)                   \
69 {                                       \
70     (t)->low = ULZReadTime() * 10000L;  \
71     (t)->high = 0;                      \
72 }