Go to the source code of this file.
Data Structures | |
| struct | I32_reg_t |
| struct | I16_reg_t |
| struct | I8_reg_t |
| union | i386_general_register |
| struct | i386_general_regs |
| struct | i386_special_regs |
| struct | i386_segment_regs |
| struct | X86EMU_regs |
| struct | X86EMU_sysEnv |
Defines | |
| #define | R_AH gen.A.I8_reg.h_reg |
| #define | R_AL gen.A.I8_reg.l_reg |
| #define | R_BH gen.B.I8_reg.h_reg |
| #define | R_BL gen.B.I8_reg.l_reg |
| #define | R_CH gen.C.I8_reg.h_reg |
| #define | R_CL gen.C.I8_reg.l_reg |
| #define | R_DH gen.D.I8_reg.h_reg |
| #define | R_DL gen.D.I8_reg.l_reg |
| #define | R_AX gen.A.I16_reg.x_reg |
| #define | R_BX gen.B.I16_reg.x_reg |
| #define | R_CX gen.C.I16_reg.x_reg |
| #define | R_DX gen.D.I16_reg.x_reg |
| #define | R_EAX gen.A.I32_reg.e_reg |
| #define | R_EBX gen.B.I32_reg.e_reg |
| #define | R_ECX gen.C.I32_reg.e_reg |
| #define | R_EDX gen.D.I32_reg.e_reg |
| #define | R_SP spc.SP.I16_reg.x_reg |
| #define | R_BP spc.BP.I16_reg.x_reg |
| #define | R_SI spc.SI.I16_reg.x_reg |
| #define | R_DI spc.DI.I16_reg.x_reg |
| #define | R_IP spc.IP.I16_reg.x_reg |
| #define | R_FLG spc.FLAGS |
| #define | R_SP spc.SP.I16_reg.x_reg |
| #define | R_BP spc.BP.I16_reg.x_reg |
| #define | R_SI spc.SI.I16_reg.x_reg |
| #define | R_DI spc.DI.I16_reg.x_reg |
| #define | R_IP spc.IP.I16_reg.x_reg |
| #define | R_FLG spc.FLAGS |
| #define | R_ESP spc.SP.I32_reg.e_reg |
| #define | R_EBP spc.BP.I32_reg.e_reg |
| #define | R_ESI spc.SI.I32_reg.e_reg |
| #define | R_EDI spc.DI.I32_reg.e_reg |
| #define | R_EIP spc.IP.I32_reg.e_reg |
| #define | R_EFLG spc.FLAGS |
| #define | R_CS seg.CS |
| #define | R_DS seg.DS |
| #define | R_SS seg.SS |
| #define | R_ES seg.ES |
| #define | R_FS seg.FS |
| #define | R_GS seg.GS |
| #define | FB_CF 0x0001 |
| #define | FB_PF 0x0004 |
| #define | FB_AF 0x0010 |
| #define | FB_ZF 0x0040 |
| #define | FB_SF 0x0080 |
| #define | FB_TF 0x0100 |
| #define | FB_IF 0x0200 |
| #define | FB_DF 0x0400 |
| #define | FB_OF 0x0800 |
| #define | F_ALWAYS_ON (0x0002) |
| #define | F_MSK (FB_CF|FB_PF|FB_AF|FB_ZF|FB_SF|FB_TF|FB_IF|FB_DF|FB_OF) |
| #define | F_CF 0x0001 |
| #define | F_PF 0x0004 |
| #define | F_AF 0x0010 |
| #define | F_ZF 0x0040 |
| #define | F_SF 0x0080 |
| #define | F_TF 0x0100 |
| #define | F_IF 0x0200 |
| #define | F_DF 0x0400 |
| #define | F_OF 0x0800 |
| #define | TOGGLE_FLAG(flag) (M.x86.R_FLG ^= (flag)) |
| #define | SET_FLAG(flag) (M.x86.R_FLG |= (flag)) |
| #define | CLEAR_FLAG(flag) (M.x86.R_FLG &= ~(flag)) |
| #define | ACCESS_FLAG(flag) (M.x86.R_FLG & (flag)) |
| #define | CLEARALL_FLAG(m) (M.x86.R_FLG = 0) |
| #define | CONDITIONAL_SET_FLAG(COND, FLAG) if (COND) SET_FLAG(FLAG); else CLEAR_FLAG(FLAG) |
| #define | F_PF_CALC 0x010000 |
| #define | F_ZF_CALC 0x020000 |
| #define | F_SF_CALC 0x040000 |
| #define | F_ALL_CALC 0xff0000 |
| #define | SYSMODE_SEG_DS_SS 0x00000001 |
| #define | SYSMODE_SEGOVR_CS 0x00000002 |
| #define | SYSMODE_SEGOVR_DS 0x00000004 |
| #define | SYSMODE_SEGOVR_ES 0x00000008 |
| #define | SYSMODE_SEGOVR_FS 0x00000010 |
| #define | SYSMODE_SEGOVR_GS 0x00000020 |
| #define | SYSMODE_SEGOVR_SS 0x00000040 |
| #define | SYSMODE_PREFIX_REPE 0x00000080 |
| #define | SYSMODE_PREFIX_REPNE 0x00000100 |
| #define | SYSMODE_PREFIX_DATA 0x00000200 |
| #define | SYSMODE_PREFIX_ADDR 0x00000400 |
| #define | SYSMODE_INTR_PENDING 0x10000000 |
| #define | SYSMODE_EXTRN_INTR 0x20000000 |
| #define | SYSMODE_HALTED 0x40000000 |
| #define | SYSMODE_SEGMASK |
| #define | SYSMODE_CLRMASK |
| #define | INTR_SYNCH 0x1 |
| #define | INTR_ASYNCH 0x2 |
| #define | INTR_HALTED 0x4 |
| #define | M _X86EMU_env |
Typedefs | |
| typedef i386_general_regs | Gen_reg_t |
Functions | |
| void | printk (const char *fmt,...) |
Variables | |
| X86EMU_sysEnv | _X86EMU_env |
| #define ACCESS_FLAG | ( | flag | ) | (M.x86.R_FLG & (flag)) |
| #define CLEAR_FLAG | ( | flag | ) | (M.x86.R_FLG &= ~(flag)) |
| #define CLEARALL_FLAG | ( | m | ) | (M.x86.R_FLG = 0) |
| #define CONDITIONAL_SET_FLAG | ( | COND, | |||
| FLAG | ) | if (COND) SET_FLAG(FLAG); else CLEAR_FLAG(FLAG) |
| #define F_AF 0x0010 |
| #define F_ALL_CALC 0xff0000 |
| #define F_ALWAYS_ON (0x0002) |
| #define F_CF 0x0001 |
| #define F_DF 0x0400 |
| #define F_IF 0x0200 |
| #define F_MSK (FB_CF|FB_PF|FB_AF|FB_ZF|FB_SF|FB_TF|FB_IF|FB_DF|FB_OF) |
| #define F_OF 0x0800 |
| #define F_PF 0x0004 |
| #define F_PF_CALC 0x010000 |
| #define F_SF 0x0080 |
| #define F_SF_CALC 0x040000 |
| #define F_TF 0x0100 |
| #define F_ZF 0x0040 |
| #define F_ZF_CALC 0x020000 |
| #define FB_AF 0x0010 |
| #define FB_CF 0x0001 |
| #define FB_DF 0x0400 |
| #define FB_IF 0x0200 |
| #define FB_OF 0x0800 |
| #define FB_PF 0x0004 |
| #define FB_SF 0x0080 |
| #define FB_TF 0x0100 |
| #define FB_ZF 0x0040 |
| #define INTR_ASYNCH 0x2 |
| #define INTR_HALTED 0x4 |
| #define INTR_SYNCH 0x1 |
| #define M _X86EMU_env |
| #define R_AH gen.A.I8_reg.h_reg |
| #define R_AL gen.A.I8_reg.l_reg |
| #define R_AX gen.A.I16_reg.x_reg |
| #define R_BH gen.B.I8_reg.h_reg |
| #define R_BL gen.B.I8_reg.l_reg |
| #define R_BP spc.BP.I16_reg.x_reg |
| #define R_BP spc.BP.I16_reg.x_reg |
| #define R_BX gen.B.I16_reg.x_reg |
| #define R_CH gen.C.I8_reg.h_reg |
| #define R_CL gen.C.I8_reg.l_reg |
| #define R_CS seg.CS |
| #define R_CX gen.C.I16_reg.x_reg |
| #define R_DH gen.D.I8_reg.h_reg |
| #define R_DI spc.DI.I16_reg.x_reg |
| #define R_DI spc.DI.I16_reg.x_reg |
| #define R_DL gen.D.I8_reg.l_reg |
| #define R_DS seg.DS |
| #define R_DX gen.D.I16_reg.x_reg |
| #define R_EAX gen.A.I32_reg.e_reg |
| #define R_EBP spc.BP.I32_reg.e_reg |
| #define R_EBX gen.B.I32_reg.e_reg |
| #define R_ECX gen.C.I32_reg.e_reg |
| #define R_EDI spc.DI.I32_reg.e_reg |
| #define R_EDX gen.D.I32_reg.e_reg |
| #define R_EFLG spc.FLAGS |
| #define R_EIP spc.IP.I32_reg.e_reg |
| #define R_ES seg.ES |
| #define R_ESI spc.SI.I32_reg.e_reg |
| #define R_ESP spc.SP.I32_reg.e_reg |
| #define R_FLG spc.FLAGS |
| #define R_FLG spc.FLAGS |
| #define R_FS seg.FS |
| #define R_GS seg.GS |
| #define R_IP spc.IP.I16_reg.x_reg |
| #define R_IP spc.IP.I16_reg.x_reg |
| #define R_SI spc.SI.I16_reg.x_reg |
| #define R_SI spc.SI.I16_reg.x_reg |
| #define R_SP spc.SP.I16_reg.x_reg |
| #define R_SP spc.SP.I16_reg.x_reg |
| #define R_SS seg.SS |
| #define SET_FLAG | ( | flag | ) | (M.x86.R_FLG |= (flag)) |
| #define SYSMODE_CLRMASK |
Value:
(SYSMODE_SEG_DS_SS | \ SYSMODE_SEGOVR_CS | \ SYSMODE_SEGOVR_DS | \ SYSMODE_SEGOVR_ES | \ SYSMODE_SEGOVR_FS | \ SYSMODE_SEGOVR_GS | \ SYSMODE_SEGOVR_SS | \ SYSMODE_PREFIX_DATA | \ SYSMODE_PREFIX_ADDR)
| #define SYSMODE_EXTRN_INTR 0x20000000 |
| #define SYSMODE_HALTED 0x40000000 |
| #define SYSMODE_INTR_PENDING 0x10000000 |
| #define SYSMODE_PREFIX_ADDR 0x00000400 |
| #define SYSMODE_PREFIX_DATA 0x00000200 |
| #define SYSMODE_PREFIX_REPE 0x00000080 |
| #define SYSMODE_PREFIX_REPNE 0x00000100 |
| #define SYSMODE_SEG_DS_SS 0x00000001 |
| #define SYSMODE_SEGMASK |
Value:
(SYSMODE_SEG_DS_SS | \ SYSMODE_SEGOVR_CS | \ SYSMODE_SEGOVR_DS | \ SYSMODE_SEGOVR_ES | \ SYSMODE_SEGOVR_FS | \ SYSMODE_SEGOVR_GS | \ SYSMODE_SEGOVR_SS)
| #define SYSMODE_SEGOVR_CS 0x00000002 |
| #define SYSMODE_SEGOVR_DS 0x00000004 |
| #define SYSMODE_SEGOVR_ES 0x00000008 |
| #define SYSMODE_SEGOVR_FS 0x00000010 |
| #define SYSMODE_SEGOVR_GS 0x00000020 |
| #define SYSMODE_SEGOVR_SS 0x00000040 |
| #define TOGGLE_FLAG | ( | flag | ) | (M.x86.R_FLG ^= (flag)) |
| typedef struct i386_general_regs Gen_reg_t |
| void printk | ( | const char * | fmt, | |
| ... | ||||
| ) |