diff options
| author | wdenk <wdenk> | 2002-11-19 11:04:11 +0000 | 
|---|---|---|
| committer | wdenk <wdenk> | 2002-11-19 11:04:11 +0000 | 
| commit | c7de829c796978e519984df2f1c8cfcf921a39a4 (patch) | |
| tree | 43e42aa9a09f5265783c1622a5cea080471ef50e /board/MAI/bios_emulator/scitech/src/common/aaos2.c | |
| parent | 2262cfeef91458b01a1bfe3812ccbbfdf8b82807 (diff) | |
| download | olio-uboot-2014.01-c7de829c796978e519984df2f1c8cfcf921a39a4.tar.xz olio-uboot-2014.01-c7de829c796978e519984df2f1c8cfcf921a39a4.zip | |
* Patch by Thomas Frieden, 13 Nov 2002:
  Add code for AmigaOne board
  (preliminary merge to U-Boot, still WIP)
* Patch by Jon Diekema, 12 Nov 2002:
  - Adding URL for IEEE OUI lookup
  - Making the autoboot #defines dependent on CONFIG_AUTOBOOT_KEYED
    being defined.
  - In the CONFIG_EXTRA_ENV_SETTINGS #define, the root-on-initrd and
    root-on-nfs macros are designed to switch how the default boot
    method gets defined.
Diffstat (limited to 'board/MAI/bios_emulator/scitech/src/common/aaos2.c')
| -rw-r--r-- | board/MAI/bios_emulator/scitech/src/common/aaos2.c | 124 | 
1 files changed, 124 insertions, 0 deletions
| diff --git a/board/MAI/bios_emulator/scitech/src/common/aaos2.c b/board/MAI/bios_emulator/scitech/src/common/aaos2.c new file mode 100644 index 000000000..486b96a9c --- /dev/null +++ b/board/MAI/bios_emulator/scitech/src/common/aaos2.c @@ -0,0 +1,124 @@ +/**************************************************************************** +* +*                   SciTech Nucleus Graphics Architecture +* +*               Copyright (C) 1991-1998 SciTech Software, Inc. +*                            All rights reserved. +* +*  ====================================================================== +*  |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW| +*  |                                                                    | +*  |This copyrighted computer code contains proprietary technology      | +*  |owned by SciTech Software, Inc., located at 505 Wall Street,        | +*  |Chico, CA 95928 USA (http://www.scitechsoft.com).                   | +*  |                                                                    | +*  |The contents of this file are subject to the SciTech Nucleus        | +*  |License; you may *not* use this file or related software except in  | +*  |compliance with the License. You may obtain a copy of the License   | +*  |at http://www.scitechsoft.com/nucleus-license.txt                   | +*  |                                                                    | +*  |Software distributed under the License is distributed on an         | +*  |"AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or      | +*  |implied. See the License for the specific language governing        | +*  |rights and limitations under the License.                           | +*  |                                                                    | +*  |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW| +*  ====================================================================== +* +* Language:     ANSI C +* Environment:  OS/2 32-bit +* +* Description:  OS specific Nucleus Graphics Architecture services for +*               the OS/2 operating system environments. +* +****************************************************************************/ + +#include "pm_help.h" +#define INCL_DOSERRORS +#define INCL_DOS +#define INCL_SUB +#define INCL_VIO +#define INCL_KBD +#include <os2.h> + +/*---------------------------- Global Variables ---------------------------*/ + +static HFILE        hSDDHelp; +static ulong        outLen;         /* Must not cross 64Kb boundary!    */ +static ulong        result;         /* Must not cross 64Kb boundary!    */ +static ibool        haveRDTSC; + +/*-------------------------- Implementation -------------------------------*/ + +/**************************************************************************** +REMARKS: +This function returns a pointer to the common graphics driver loaded in the +helper VxD. The memory for the VxD is shared between all processes via +the VxD, so that the VxD, 16-bit code and 32-bit code all see the same +state when accessing the graphics binary portable driver. +****************************************************************************/ +GA_sharedInfo * NAPI GA_getSharedInfo( +    int device) +{ +    /* Initialise the PM library and connect to our runtime DLL's */ +    PM_init(); + +    /* Open our helper device driver */ +    if (DosOpen(PMHELP_NAME,&hSDDHelp,&result,0,0, +            FILE_OPEN, OPEN_SHARE_DENYNONE | OPEN_ACCESS_READWRITE, +            NULL)) +        PM_fatalError("Unable to open SDDHELP$ helper device driver!"); +    outLen = sizeof(result); +    DosDevIOCtl(hSDDHelp,PMHELP_IOCTL,PMHELP_GETSHAREDINFO, +        NULL, 0, NULL, +        &result, outLen, &outLen); +    DosClose(hSDDHelp); +    if (result) { +        /* We have found the shared Nucleus packet. Because not all processes +         * map to SDDPMI.DLL, we need to ensure that we connect to this +         * DLL so that it gets mapped into our address space (that is +         * where the shared Nucleus packet is located). Simply doing a +         * DosLoadModule on it is enough for this. +         */ +        HMODULE hModSDDPMI; +        char    buf[80]; +        DosLoadModule((PSZ)buf,sizeof(buf),(PSZ)"SDDPMI.DLL",&hModSDDPMI); +        } +    return (GA_sharedInfo*)result; +} + +/**************************************************************************** +REMARKS: +Nothing special for this OS. +****************************************************************************/ +ibool NAPI GA_getSharedExports( +    GA_exports *gaExp) +{ +    (void)gaExp; +    return false; +} + +/**************************************************************************** +REMARKS: +This function initialises the high precision timing functions for the +Nucleus loader library. +****************************************************************************/ +ibool NAPI GA_TimerInit(void) +{ +    if (_GA_haveCPUID() && (_GA_getCPUIDFeatures() & CPU_HaveRDTSC) != 0) +        haveRDTSC = true; +    return true; +} + +/**************************************************************************** +REMARKS: +This function reads the high resolution timer. +****************************************************************************/ +void NAPI GA_TimerRead( +    GA_largeInteger *value) +{ +    if (haveRDTSC) +        _GA_readTimeStamp(value); +    else +        DosTmrQueryTime((QWORD*)value); +} |