upstream u-boot with additional patches for our devices/boards:
https://lists.denx.de/pipermail/u-boot/2017-March/282789.html (AXP crashes) ;
Gbit ethernet patch for some LIME2 revisions ;
with SPI flash support
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
6.2 KiB
167 lines
6.2 KiB
/****************************************************************************
|
|
*
|
|
* SciTech OS Portability Manager Library
|
|
*
|
|
* ========================================================================
|
|
*
|
|
* The contents of this file are subject to the SciTech MGL Public
|
|
* License Version 1.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.scitechsoft.com/mgl-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.
|
|
*
|
|
* The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.
|
|
*
|
|
* The Initial Developer of the Original Code is SciTech Software, Inc.
|
|
* All Rights Reserved.
|
|
*
|
|
* ========================================================================
|
|
*
|
|
* Language: ANSI C
|
|
* Environment: Win32, OS/2
|
|
*
|
|
* Description: Include file for the SciTech Portability Manager 32-bit
|
|
* helper VxD for Windows 9x for and the 16-bit ring 0
|
|
* helper device driver for OS/2.
|
|
*
|
|
* This file documents all the public services used by the
|
|
* SciTech Portability Manager library and SciTech Nucleus
|
|
* loader library.
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef __PMHELP_H
|
|
#define __PMHELP_H
|
|
|
|
/* Include version information */
|
|
|
|
#include "sdd/sddver.h"
|
|
#define PMHELP_Major SDD_RELEASE_MAJOR
|
|
#define PMHELP_Minor SDD_RELEASE_MINOR
|
|
#define PMHELP_VERSION ((PMHELP_Major << 8) | PMHELP_Minor)
|
|
|
|
#ifdef __OS2__
|
|
|
|
/****************************************************************************
|
|
* Public OS/2 Support functions
|
|
****************************************************************************/
|
|
|
|
#include "scitech.h"
|
|
#include "nucleus/graphics.h"
|
|
|
|
/* Name of device driver */
|
|
|
|
#define PMHELP_NAME (PSZ)"sddhelp$"
|
|
|
|
/* Main IOCTL function to talk to device driver */
|
|
|
|
#define PMHELP_IOCTL 0x0080
|
|
|
|
/* Macro definition for defining IOCTL function control codes for the SDDHELP
|
|
* device driver for OS/2. Similar to that used for the DOS/Win32 version.
|
|
*/
|
|
|
|
#define PMHELP_CTL_CODE(name,value) \
|
|
PMHELP_##name = value
|
|
|
|
typedef enum {
|
|
/* Version function used by all drivers */
|
|
PMHELP_CTL_CODE(GETVER ,0x0001),
|
|
PMHELP_CTL_CODE(MAPPHYS ,0x0002),
|
|
PMHELP_CTL_CODE(ALLOCLOCKED ,0x0003),
|
|
PMHELP_CTL_CODE(FREELOCKED ,0x0004),
|
|
PMHELP_CTL_CODE(GETGDT32 ,0x0005),
|
|
PMHELP_CTL_CODE(MALLOCSHARED ,0x0007),
|
|
PMHELP_CTL_CODE(FREESHARED ,0x0008),
|
|
PMHELP_CTL_CODE(MAPTOPROCESS ,0x0009),
|
|
PMHELP_CTL_CODE(FREEPHYS ,0x000A),
|
|
PMHELP_CTL_CODE(FLUSHTLB ,0x000B),
|
|
PMHELP_CTL_CODE(SAVECR4 ,0x000C),
|
|
PMHELP_CTL_CODE(RESTORECR4 ,0x000D),
|
|
PMHELP_CTL_CODE(READMSR ,0x000E),
|
|
PMHELP_CTL_CODE(WRITEMSR ,0x000F),
|
|
PMHELP_CTL_CODE(GETPHYSICALADDR ,0x0010),
|
|
PMHELP_CTL_CODE(GETPHYSICALADDRRANGE ,0x0011),
|
|
PMHELP_CTL_CODE(LOCKPAGES ,0x0012),
|
|
PMHELP_CTL_CODE(UNLOCKPAGES ,0x0013),
|
|
PMHELP_CTL_CODE(GETSHAREDEXP ,0x0042),
|
|
PMHELP_CTL_CODE(SETSHAREDEXP ,0x0043),
|
|
PMHELP_CTL_CODE(GETSTACKSWITCHRTN ,0x0044),
|
|
PMHELP_CTL_CODE(GETBUILDNO ,0x0050),
|
|
} PMHELP_ctlCodes;
|
|
|
|
#else
|
|
|
|
/****************************************************************************
|
|
* Public DOS/Windows Support functions
|
|
****************************************************************************/
|
|
|
|
#ifdef DEVICE_MAIN
|
|
#include <vtoolsc.h>
|
|
#define PMHELP_Init_Order (VDD_INIT_ORDER-1)
|
|
#define RETURN_LONGS(n) *p->dioc_bytesret = (n) * sizeof(ulong)
|
|
#endif /* DEVICE_MAIN */
|
|
#include "scitech.h"
|
|
#include "nucleus/graphics.h"
|
|
|
|
/* We connect to the SDDHELP.VXD module if it is staticly loaded (as part
|
|
* of SciTech Display Doctor), otherwise we dynamically load the PMHELP.VXD
|
|
* public helper VxD.
|
|
*/
|
|
|
|
#define PMHELP_DeviceID 0x0000
|
|
#define SDDHELP_DeviceID 0x3DF8
|
|
#define VXDLDR_DeviceID 0x0027
|
|
#define SDDHELP_MODULE "SDDHELP"
|
|
#define SDDHELP_NAME "SDDHELP.VXD"
|
|
#define PMHELP_MODULE "PMHELP"
|
|
#define PMHELP_NAME "PMHELP.VXD"
|
|
#define PMHELP_DDBNAME "pmhelp "
|
|
#define SDDHELP_MODULE_PATH "\\\\.\\" SDDHELP_MODULE
|
|
#define PMHELP_MODULE_PATH "\\\\.\\" PMHELP_MODULE
|
|
#define PMHELP_VXD_PATH "\\\\.\\" PMHELP_NAME
|
|
|
|
/* Macro definition for defining IOCTL function control codes for the PMHELP
|
|
* device drivers for Windows 9x and NT. This macro is basically derived from
|
|
* the CTL_CODE macro in the Windows 2000 DDK, but we hard code it here to
|
|
* avoid having to #include any of the Windows 2000 DDK header files. We also
|
|
* define both a 16-bit and 32-bit version of the control code within the same
|
|
* macro to simplify future additions.
|
|
*
|
|
* Essentially the Win32 macro would normally expand to the following:
|
|
*
|
|
* CTL_CODE(FILE_DEVICE_VIDEO,0x800+value,METHOD_BUFFERED,FILE_ANY_ACCESS)
|
|
*/
|
|
|
|
#define PMHELP_CTL_CODE(name,value) \
|
|
PMHELP_##name = value, \
|
|
PMHELP_##name##32 = ((0x23 << 16) | (0 << 14) | ((0x800+value) << 2) | (0))
|
|
|
|
typedef enum {
|
|
/* Include all the control codes. We keep them in a separate header
|
|
* file so we can include them in multiple places to make this
|
|
* more versatile.
|
|
*/
|
|
#include "pm_wctl.h"
|
|
} PMHELP_ctlCodes;
|
|
|
|
/* For real mode VxD calls, we put the function number into the high
|
|
* order word of EAX, and a value of 0x4FFF in AX. This allows our
|
|
* VxD handler which is set up to handle Int 10's to recognise a native
|
|
* PMHELP API call from a real mode DOS program.
|
|
*/
|
|
|
|
#ifdef REALMODE
|
|
#define API_NUM(num) (((ulong)(num) << 16) | 0x4FFF)
|
|
#else
|
|
#define API_NUM(num) (num)
|
|
#endif
|
|
|
|
#endif /* !__OS2__ */
|
|
|
|
#endif /* __PMHELP_H */
|
|
|
|
|