git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1624 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
		
			
				
	
	
		
			90 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* $XFree86: xc/programs/Xserver/hw/xfree86/int10/xf86x86emu.h,v 1.2 2001/01/06 20:19:13 tsi Exp $ */
 | |
| /*
 | |
|  *                   XFree86 int10 module
 | |
|  *   execute BIOS int 10h calls in x86 real mode environment
 | |
|  *                 Copyright 1999 Egbert Eich
 | |
|  */
 | |
| #ifndef XF86X86EMU_H_
 | |
| #define XF86X86EMU_H_
 | |
| #include <x86emu.h>
 | |
| 
 | |
| #define M _X86EMU_env
 | |
| 
 | |
| #define X86_EAX M.x86.R_EAX
 | |
| #define X86_EBX M.x86.R_EBX
 | |
| #define X86_ECX M.x86.R_ECX
 | |
| #define X86_EDX M.x86.R_EDX
 | |
| #define X86_ESI M.x86.R_ESI
 | |
| #define X86_EDI M.x86.R_EDI
 | |
| #define X86_EBP M.x86.R_EBP
 | |
| #define X86_EIP M.x86.R_EIP
 | |
| #define X86_ESP M.x86.R_ESP
 | |
| #define X86_EFLAGS M.x86.R_EFLG
 | |
| 
 | |
| #define X86_FLAGS M.x86.R_FLG
 | |
| #define X86_AX M.x86.R_AX
 | |
| #define X86_BX M.x86.R_BX
 | |
| #define X86_CX M.x86.R_CX
 | |
| #define X86_DX M.x86.R_DX
 | |
| #define X86_SI M.x86.R_SI
 | |
| #define X86_DI M.x86.R_DI
 | |
| #define X86_BP M.x86.R_BP
 | |
| #define X86_IP M.x86.R_IP
 | |
| #define X86_SP M.x86.R_SP
 | |
| #define X86_CS M.x86.R_CS
 | |
| #define X86_DS M.x86.R_DS
 | |
| #define X86_ES M.x86.R_ES
 | |
| #define X86_SS M.x86.R_SS
 | |
| #define X86_FS M.x86.R_FS
 | |
| #define X86_GS M.x86.R_GS
 | |
| 
 | |
| #define X86_AL M.x86.R_AL
 | |
| #define X86_BL M.x86.R_BL
 | |
| #define X86_CL M.x86.R_CL
 | |
| #define X86_DL M.x86.R_DL
 | |
| 
 | |
| #define X86_AH M.x86.R_AH
 | |
| #define X86_BH M.x86.R_BH
 | |
| #define X86_CH M.x86.R_CH
 | |
| #define X86_DH M.x86.R_DH
 | |
| 
 | |
| 
 | |
| /* int10 info structure */
 | |
| typedef struct {
 | |
| 	u16 BIOSseg;
 | |
| 	u16 inb40time;
 | |
| 	struct _mem *mem;
 | |
| 	int num;
 | |
| 	int ax;
 | |
| 	int bx;
 | |
| 	int cx;
 | |
| 	int dx;
 | |
| 	int si;
 | |
| 	int di;
 | |
| 	int es;
 | |
| 	int bp;
 | |
| 	int flags;
 | |
| 	int stackseg;
 | |
| } _ptr, *ptr;
 | |
| 
 | |
| typedef struct _mem {
 | |
| 	u8(*rb) (ptr, int);
 | |
| 	u16(*rw) (ptr, int);
 | |
| 	u32(*rl) (ptr, int);
 | |
| 	void (*wb) (ptr, int, u8);
 | |
| 	void (*ww) (ptr, int, u16);
 | |
| 	void (*wl) (ptr, int, u32);
 | |
| } mem;
 | |
| 
 | |
| #define MEM_WB(where, what) wrb(where,what)
 | |
| #define MEM_WW(where, what) wrw(where, what)
 | |
| #define MEM_WL(where, what) wrl(where, what)
 | |
| 
 | |
| #define MEM_RB(where) rdb(where)
 | |
| #define MEM_RW(where) rdw(where)
 | |
| #define MEM_RL(where) rdl(where)
 | |
| 
 | |
| extern ptr current;
 | |
| 
 | |
| #endif
 |