Import upstream u-boot 1.1.4
[u-boot.git] / board / MAI / bios_emulator / scitech / src / common / aabeos.c
1 /****************************************************************************
2 *
3 *                   SciTech Nucleus Graphics Architecture
4 *
5 *               Copyright (C) 1991-1998 SciTech Software, Inc.
6 *                            All rights reserved.
7 *
8 *  ======================================================================
9 *  |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW|
10 *  |                                                                    |
11 *  |This copyrighted computer code contains proprietary technology      |
12 *  |owned by SciTech Software, Inc., located at 505 Wall Street,        |
13 *  |Chico, CA 95928 USA (http://www.scitechsoft.com).                   |
14 *  |                                                                    |
15 *  |The contents of this file are subject to the SciTech Nucleus        |
16 *  |License; you may *not* use this file or related software except in  |
17 *  |compliance with the License. You may obtain a copy of the License   |
18 *  |at http://www.scitechsoft.com/nucleus-license.txt                   |
19 *  |                                                                    |
20 *  |Software distributed under the License is distributed on an         |
21 *  |"AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or      |
22 *  |implied. See the License for the specific language governing        |
23 *  |rights and limitations under the License.                           |
24 *  |                                                                    |
25 *  |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW|
26 *  ======================================================================
27 *
28 * Language:     ANSI C
29 * Environment:  Linux
30 *
31 * Description:  OS specific Nucleus Graphics Architecture services for
32 *               the Linux operating system.
33 *
34 ****************************************************************************/
35
36 #include "nucleus/graphics.h"
37 #include <sys/time.h>
38
39 static ibool            haveRDTSC;
40
41 /*-------------------------- Implementation -------------------------------*/
42
43 /****************************************************************************
44 REMARKS:
45 Nothing special for this OS.
46 ****************************************************************************/
47 GA_sharedInfo * NAPI GA_getSharedInfo(
48     int device)
49 {
50     (void)device;
51     return NULL;
52 }
53
54 /****************************************************************************
55 REMARKS:
56 Nothing special for this OS.
57 ****************************************************************************/
58 ibool NAPI GA_getSharedExports(
59     GA_exports *gaExp)
60 {
61     (void)gaExp;
62     return false;
63 }
64
65 /****************************************************************************
66 REMARKS:
67 This function initialises the high precision timing functions for the
68 Nucleus loader library.
69 ****************************************************************************/
70 ibool NAPI GA_TimerInit(void)
71 {
72     if (_GA_haveCPUID() && (_GA_getCPUIDFeatures() & CPU_HaveRDTSC) != 0)
73         haveRDTSC = true;
74     return true;
75 }
76
77 /****************************************************************************
78 REMARKS:
79 This function reads the high resolution timer.
80 ****************************************************************************/
81 void NAPI GA_TimerRead(
82     GA_largeInteger *value)
83 {
84     if (haveRDTSC)
85         _GA_readTimeStamp(value);
86     else {
87         struct timeval t;
88         gettimeofday(&t, NULL);
89         value->low = t.tv_sec*1000000 + t.tv_usec;
90         value->high = 0;
91         }
92 }