mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 02:15:45 +01:00 
			
		
		
		
	- remove trailing white space, trailing empty lines, C++ comments, etc.
  - split cmd_boot.c (separate cmd_bdinfo.c and cmd_load.c)
* Patches by Kenneth Johansson, 25 Jun 2003:
  - major rework of command structure
    (work done mostly by Michal Cendrowski and Joakim Kristiansen)
		
	
		
			
				
	
	
		
			155 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /****************************************************************************
 | |
| *
 | |
| *                        BIOS emulator and interface
 | |
| *                      to Realmode X86 Emulator Library
 | |
| *
 | |
| *               Copyright (C) 1996-1999 SciTech Software, Inc.
 | |
| *
 | |
| *  ========================================================================
 | |
| *
 | |
| *  Permission to use, copy, modify, distribute, and sell this software and
 | |
| *  its documentation for any purpose is hereby granted without fee,
 | |
| *  provided that the above copyright notice appear in all copies and that
 | |
| *  both that copyright notice and this permission notice appear in
 | |
| *  supporting documentation, and that the name of the authors not be used
 | |
| *  in advertising or publicity pertaining to distribution of the software
 | |
| *  without specific, written prior permission.  The authors makes no
 | |
| *  representations about the suitability of this software for any purpose.
 | |
| *  It is provided "as is" without express or implied warranty.
 | |
| *
 | |
| *  THE AUTHORS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 | |
| *  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 | |
| *  EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
 | |
| *  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
 | |
| *  USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
 | |
| *  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 | |
| *  PERFORMANCE OF THIS SOFTWARE.
 | |
| *
 | |
| *  ========================================================================
 | |
| *
 | |
| * Language:     ANSI C
 | |
| * Environment:  Any
 | |
| * Developer:    Kendall Bennett
 | |
| *
 | |
| * Description:  Header file for the real mode x86 BIOS emulator, which is
 | |
| *               used to warmboot any number of VGA compatible PCI/AGP
 | |
| *               controllers under any OS, on any processor family that
 | |
| *               supports PCI. We also allow the user application to call
 | |
| *               real mode BIOS functions and Int 10h functions (including
 | |
| *               the VESA BIOS).
 | |
| *
 | |
| ****************************************************************************/
 | |
| 
 | |
| #ifndef __BIOSEMU_H
 | |
| #define __BIOSEMU_H
 | |
| 
 | |
| #include "x86emu.h"
 | |
| #include "pmapi.h"
 | |
| #include "pcilib.h"
 | |
| 
 | |
| /*---------------------- Macros and type definitions ----------------------*/
 | |
| 
 | |
| #pragma pack(1)
 | |
| 
 | |
| /****************************************************************************
 | |
| REMARKS:
 | |
| Data structure used to describe the details specific to a particular VGA
 | |
| controller. This information is used to allow the VGA controller to be
 | |
| swapped on the fly within the BIOS emulator.
 | |
| 
 | |
| HEADER:
 | |
| biosemu.h
 | |
| 
 | |
| MEMBERS:
 | |
| pciInfo         - PCI device information block for the controller
 | |
| BIOSImage       - Pointer to a read/write copy of the BIOS image
 | |
| BIOSImageLen    - Length of the BIOS image
 | |
| LowMem          - Copy of key low memory areas
 | |
| ****************************************************************************/
 | |
| typedef struct {
 | |
|     PCIDeviceInfo   *pciInfo;
 | |
|     void            *BIOSImage;
 | |
|     ulong           BIOSImageLen;
 | |
|     uchar           LowMem[1536];
 | |
|     } BE_VGAInfo;
 | |
| 
 | |
| /****************************************************************************
 | |
| REMARKS:
 | |
| Data structure used to describe the details for the BIOS emulator system
 | |
| environment as used by the X86 emulator library.
 | |
| 
 | |
| HEADER:
 | |
| biosemu.h
 | |
| 
 | |
| MEMBERS:
 | |
| vgaInfo         - VGA BIOS information structure
 | |
| biosmem_base    - Base of the BIOS image
 | |
| biosmem_limit   - Limit of the BIOS image
 | |
| busmem_base     - Base of the VGA bus memory
 | |
| ****************************************************************************/
 | |
| typedef struct {
 | |
|     BE_VGAInfo      vgaInfo;
 | |
|     ulong           biosmem_base;
 | |
|     ulong           biosmem_limit;
 | |
|     ulong           busmem_base;
 | |
|     } BE_sysEnv;
 | |
| 
 | |
| /****************************************************************************
 | |
| REMARKS:
 | |
| Structure defining all the BIOS Emulator API functions as exported from
 | |
| the Binary Portable DLL.
 | |
| {secret}
 | |
| ****************************************************************************/
 | |
| typedef struct {
 | |
|     ulong   dwSize;
 | |
|     ibool   (PMAPIP BE_init)(u32 debugFlags,int memSize,BE_VGAInfo *info);
 | |
|     void    (PMAPIP BE_setVGA)(BE_VGAInfo *info);
 | |
|     void    (PMAPIP BE_getVGA)(BE_VGAInfo *info);
 | |
|     void *  (PMAPIP BE_mapRealPointer)(uint r_seg,uint r_off);
 | |
|     void *  (PMAPIP BE_getVESABuf)(uint *len,uint *rseg,uint *roff);
 | |
|     void    (PMAPIP BE_callRealMode)(uint seg,uint off,RMREGS *regs,RMSREGS *sregs);
 | |
|     int     (PMAPIP BE_int86)(int intno,RMREGS *in,RMREGS *out);
 | |
|     int     (PMAPIP BE_int86x)(int intno,RMREGS *in,RMREGS *out,RMSREGS *sregs);
 | |
|     void *  reserved1;
 | |
|     void    (PMAPIP BE_exit)(void);
 | |
|     } BE_exports;
 | |
| 
 | |
| /****************************************************************************
 | |
| REMARKS:
 | |
| Function pointer type for the Binary Portable DLL initialisation entry point.
 | |
| {secret}
 | |
| ****************************************************************************/
 | |
| typedef BE_exports * (PMAPIP BE_initLibrary_t)(PM_imports *PMImp);
 | |
| 
 | |
| #pragma pack()
 | |
| 
 | |
| /*---------------------------- Global variables ---------------------------*/
 | |
| 
 | |
| #ifdef  __cplusplus
 | |
| extern "C" {                        /* Use "C" linkage when in C++ mode */
 | |
| #endif
 | |
| 
 | |
| /* {secret} Global BIOS emulator system environment */
 | |
| extern BE_sysEnv _BE_env;
 | |
| 
 | |
| /*-------------------------- Function Prototypes --------------------------*/
 | |
| 
 | |
| /* BIOS emulator library entry points */
 | |
| 
 | |
| ibool   PMAPI BE_init(u32 debugFlags,int memSize,BE_VGAInfo *info);
 | |
| void    PMAPI BE_setVGA(BE_VGAInfo *info);
 | |
| void    PMAPI BE_getVGA(BE_VGAInfo *info);
 | |
| void    PMAPI BE_setDebugFlags(u32 debugFlags);
 | |
| void *  PMAPI BE_mapRealPointer(uint r_seg,uint r_off);
 | |
| void *  PMAPI BE_getVESABuf(uint *len,uint *rseg,uint *roff);
 | |
| void    PMAPI BE_callRealMode(uint seg,uint off,RMREGS *regs,RMSREGS *sregs);
 | |
| int     PMAPI BE_int86(int intno,RMREGS *in,RMREGS *out);
 | |
| int     PMAPI BE_int86x(int intno,RMREGS *in,RMREGS *out,RMSREGS *sregs);
 | |
| void    PMAPI BE_exit(void);
 | |
| 
 | |
| #ifdef  __cplusplus
 | |
| }                                   /* End of "C" linkage for C++       */
 | |
| #endif
 | |
| 
 | |
| #endif /* __BIOSEMU_H */
 |