summaryrefslogtreecommitdiffstats
path: root/qemu/roms/u-boot/drivers/bios_emulator/include/biosemu.h
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/u-boot/drivers/bios_emulator/include/biosemu.h')
-rw-r--r--qemu/roms/u-boot/drivers/bios_emulator/include/biosemu.h392
1 files changed, 0 insertions, 392 deletions
diff --git a/qemu/roms/u-boot/drivers/bios_emulator/include/biosemu.h b/qemu/roms/u-boot/drivers/bios_emulator/include/biosemu.h
deleted file mode 100644
index e92e96e82..000000000
--- a/qemu/roms/u-boot/drivers/bios_emulator/include/biosemu.h
+++ /dev/null
@@ -1,392 +0,0 @@
-/****************************************************************************
-*
-* 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
-
-#ifdef __KERNEL__
-#include "x86emu.h"
-#else
-#include "x86emu.h"
-#include "pmapi.h"
-#include "pcilib.h"
-#endif
-
-/*---------------------- Macros and type definitions ----------------------*/
-
-#pragma pack(1)
-
-#ifndef __KERNEL__
-/****************************************************************************
-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;
-#else
-/****************************************************************************
-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 {
- int function;
- int device;
- int bus;
- u32 VendorID;
- u32 DeviceID;
- pci_dev_t pcidev;
- void *BIOSImage;
- u32 BIOSImageLen;
- u8 LowMem[1536];
-} BE_VGAInfo;
-
-#endif /* __KERNEL__ */
-
-#define CRT_C 24 /* 24 CRT Controller Registers */
-#define ATT_C 21 /* 21 Attribute Controller Registers */
-#define GRA_C 9 /* 9 Graphics Controller Registers */
-#define SEQ_C 5 /* 5 Sequencer Registers */
-#define PAL_C 768 /* 768 Palette Registers */
-
-/****************************************************************************
-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
-timer - Timer used to emulate PC timer ports
-timer0 - Latched value for timer 0
-timer0Latched - true if timer 0 value was just latched
-timer2 - Current value for timer 2
-emulateVGA - true to emulate VGA I/O and memory accesses
-****************************************************************************/
-
-typedef struct {
- BE_VGAInfo vgaInfo;
- ulong biosmem_base;
- ulong biosmem_limit;
- ulong busmem_base;
-
- u32 timer0;
- int timer0Latched;
- u32 timer1;
- int timer1Latched;
- u32 timer2;
- int timer2Latched;
-
- int emulateVGA;
- u8 emu61;
- u8 emu70;
- int flipFlop3C0;
- u32 configAddress;
- u8 emu3C0;
- u8 emu3C1[ATT_C];
- u8 emu3C2;
- u8 emu3C4;
- u8 emu3C5[SEQ_C];
- u8 emu3C6;
- uint emu3C7;
- uint emu3C8;
- u8 emu3C9[PAL_C];
- u8 emu3CE;
- u8 emu3CF[GRA_C];
- u8 emu3D4;
- u8 emu3D5[CRT_C];
- u8 emu3DA;
-
-} BE_sysEnv;
-
-#ifdef __KERNEL__
-
-/* Define some types when compiling for the Linux kernel that normally
- * come from the SciTech PM library.
- */
-
-/****************************************************************************
-REMARKS:
-Structure describing the 32-bit extended x86 CPU registers
-
-HEADER:
-pmapi.h
-
-MEMBERS:
-eax - Value of the EAX register
-ebx - Value of the EBX register
-ecx - Value of the ECX register
-edx - Value of the EDX register
-esi - Value of the ESI register
-edi - Value of the EDI register
-cflag - Value of the carry flag
-****************************************************************************/
-typedef struct {
- u32 eax;
- u32 ebx;
- u32 ecx;
- u32 edx;
- u32 esi;
- u32 edi;
- u32 cflag;
-} RMDWORDREGS;
-
-/****************************************************************************
-REMARKS:
-Structure describing the 16-bit x86 CPU registers
-
-HEADER:
-pmapi.h
-
-MEMBERS:
-ax - Value of the AX register
-bx - Value of the BX register
-cx - Value of the CX register
-dx - Value of the DX register
-si - Value of the SI register
-di - Value of the DI register
-cflag - Value of the carry flag
-****************************************************************************/
-#ifdef __BIG_ENDIAN__
-typedef struct {
- u16 ax_hi, ax;
- u16 bx_hi, bx;
- u16 cx_hi, cx;
- u16 dx_hi, dx;
- u16 si_hi, si;
- u16 di_hi, di;
- u16 cflag_hi, cflag;
-} RMWORDREGS;
-#else
-typedef struct {
- u16 ax, ax_hi;
- u16 bx, bx_hi;
- u16 cx, cx_hi;
- u16 dx, dx_hi;
- u16 si, si_hi;
- u16 di, di_hi;
- u16 cflag, cflag_hi;
-} RMWORDREGS;
-#endif
-
-/****************************************************************************
-REMARKS:
-Structure describing the 8-bit x86 CPU registers
-
-HEADER:
-pmapi.h
-
-MEMBERS:
-al - Value of the AL register
-ah - Value of the AH register
-bl - Value of the BL register
-bh - Value of the BH register
-cl - Value of the CL register
-ch - Value of the CH register
-dl - Value of the DL register
-dh - Value of the DH register
-****************************************************************************/
-#ifdef __BIG_ENDIAN__
-typedef struct {
- u16 ax_hi;
- u8 ah, al;
- u16 bx_hi;
- u8 bh, bl;
- u16 cx_hi;
- u8 ch, cl;
- u16 dx_hi;
- u8 dh, dl;
-} RMBYTEREGS;
-#else
-typedef struct {
- u8 al;
- u8 ah;
- u16 ax_hi;
- u8 bl;
- u8 bh;
- u16 bx_hi;
- u8 cl;
- u8 ch;
- u16 cx_hi;
- u8 dl;
- u8 dh;
- u16 dx_hi;
-} RMBYTEREGS;
-#endif
-
-/****************************************************************************
-REMARKS:
-Structure describing all the x86 CPU registers
-
-HEADER:
-pmapi.h
-
-MEMBERS:
-e - Member to access registers as 32-bit values
-x - Member to access registers as 16-bit values
-h - Member to access registers as 8-bit values
-****************************************************************************/
-typedef union {
- RMDWORDREGS e;
- RMWORDREGS x;
- RMBYTEREGS h;
-} RMREGS;
-
-/****************************************************************************
-REMARKS:
-Structure describing all the x86 segment registers
-
-HEADER:
-pmapi.h
-
-MEMBERS:
-es - ES segment register
-cs - CS segment register
-ss - SS segment register
-ds - DS segment register
-fs - FS segment register
-gs - GS segment register
-****************************************************************************/
-typedef struct {
- u16 es;
- u16 cs;
- u16 ss;
- u16 ds;
- u16 fs;
- u16 gs;
-} RMSREGS;
-
-#endif /* __KERNEL__ */
-
-#ifndef __KERNEL__
-
-/****************************************************************************
-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);
-#endif
-
-#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 */
- int X86API BE_init(u32 debugFlags, int memSize, BE_VGAInfo * info,
- int shared);
- void X86API BE_setVGA(BE_VGAInfo * info);
- void X86API BE_getVGA(BE_VGAInfo * info);
- void X86API BE_setDebugFlags(u32 debugFlags);
- void *X86API BE_mapRealPointer(uint r_seg, uint r_off);
- void *X86API BE_getVESABuf(uint * len, uint * rseg, uint * roff);
- void X86API BE_callRealMode(uint seg, uint off, RMREGS * regs,
- RMSREGS * sregs);
- int X86API BE_int86(int intno, RMREGS * in, RMREGS * out);
- int X86API BE_int86x(int intno, RMREGS * in, RMREGS * out,
- RMSREGS * sregs);
- void X86API BE_exit(void);
-
-#ifdef __cplusplus
-} /* End of "C" linkage for C++ */
-#endif
-#endif /* __BIOSEMU_H */