diff options
Diffstat (limited to 'private/mvdm/softpc.new/host/inc/ppc/pig/cpu4gen.h')
-rw-r--r-- | private/mvdm/softpc.new/host/inc/ppc/pig/cpu4gen.h | 3419 |
1 files changed, 3419 insertions, 0 deletions
diff --git a/private/mvdm/softpc.new/host/inc/ppc/pig/cpu4gen.h b/private/mvdm/softpc.new/host/inc/ppc/pig/cpu4gen.h new file mode 100644 index 000000000..7d992678e --- /dev/null +++ b/private/mvdm/softpc.new/host/inc/ppc/pig/cpu4gen.h @@ -0,0 +1,3419 @@ +/*[ + * Generated File: cpu4gen.h + * +]*/ + +#ifndef _CPU4GEN_H_ +#define _CPU4GEN_H_ + +#include <gdpvar.h> /* For direct access getAX() etc. */ + +struct CpuVector { +#ifdef CPU_PRIVATE + struct CpuPrivateVector *Private; +#else /* !CPU_PRIVATE */ + IHP Private; +#endif /* CPU_PRIVATE */ +#ifdef CPU_PRIVATE + struct SasVector *Sas; +#else /* !CPU_PRIVATE */ + IHP Sas; +#endif /* CPU_PRIVATE */ +#ifdef CPU_PRIVATE + struct VideoVector *Video; +#else /* !CPU_PRIVATE */ + IHP Video; +#endif /* CPU_PRIVATE */ + void (*Simulate) IPT0(); + void (*Interrupt) IPT2(CPU_INT_TYPE, intType, IU16, intNum); + void (*ClearHwInt) IPT0(); + void (*EndOfApplication) IPT0(); + void (*Terminate) IPT0(); + void (*Initialise) IPT0(); + IU32 (*EffectiveAddr) IPT2(IU16, seg, IU32, offset); + void (*SetQuickEventCount) IPT1(IU32, val); + IU32 (*GetQuickEventCount) IPT0(); + void (*InitIOS) IPT4(IHP, InTables, IHP, OutTables, IUH, maxAdaptor, IU16, portMask); + void (*DefineInb) IPT2(IUH, adaptor, IHP, func); + void (*DefineInw) IPT2(IUH, adaptor, IHP, func); + void (*DefineInd) IPT2(IUH, adaptor, IHP, func); + void (*DefineOutb) IPT2(IUH, adaptor, IHP, func); + void (*DefineOutw) IPT2(IUH, adaptor, IHP, func); + void (*DefineOutd) IPT2(IUH, adaptor, IHP, func); + void (*SetAL) IPT1(IU8, val); + void (*SetAH) IPT1(IU8, val); + void (*SetAX) IPT1(IU16, val); + void (*SetEAX) IPT1(IU32, val); + void (*SetBL) IPT1(IU8, val); + void (*SetBH) IPT1(IU8, val); + void (*SetBX) IPT1(IU16, val); + void (*SetEBX) IPT1(IU32, val); + void (*SetCL) IPT1(IU8, val); + void (*SetCH) IPT1(IU8, val); + void (*SetCX) IPT1(IU16, val); + void (*SetECX) IPT1(IU32, val); + void (*SetDL) IPT1(IU8, val); + void (*SetDH) IPT1(IU8, val); + void (*SetDX) IPT1(IU16, val); + void (*SetEDX) IPT1(IU32, val); + void (*SetSI) IPT1(IU16, val); + void (*SetESI) IPT1(IU32, val); + void (*SetDI) IPT1(IU16, val); + void (*SetEDI) IPT1(IU32, val); + void (*SetSP) IPT1(IU16, val); + void (*SetESP) IPT1(IU32, val); + void (*SetBP) IPT1(IU16, val); + void (*SetEBP) IPT1(IU32, val); + void (*SetIP) IPT1(IU16, val); + void (*SetEIP) IPT1(IU32, val); + IUH (*SetCS) IPT1(IU16, val); + IUH (*SetSS) IPT1(IU16, val); + IUH (*SetDS) IPT1(IU16, val); + IUH (*SetES) IPT1(IU16, val); + IUH (*SetFS) IPT1(IU16, val); + IUH (*SetGS) IPT1(IU16, val); + void (*SetEFLAGS) IPT1(IU32, val); + void (*SetSTATUS) IPT1(IU16, val); + void (*SetIOPL) IPT1(IU8, val); + void (*SetMSW) IPT1(IU16, val); + void (*SetCR0) IPT1(IU32, val); + void (*SetCR2) IPT1(IU32, val); + void (*SetCR3) IPT1(IU32, val); + void (*SetCF) IPT1(IBOOL, val); + void (*SetPF) IPT1(IBOOL, val); + void (*SetAF) IPT1(IBOOL, val); + void (*SetZF) IPT1(IBOOL, val); + void (*SetSF) IPT1(IBOOL, val); + void (*SetTF) IPT1(IBOOL, val); + void (*SetIF) IPT1(IBOOL, val); + void (*SetDF) IPT1(IBOOL, val); + void (*SetOF) IPT1(IBOOL, val); + void (*SetNT) IPT1(IBOOL, val); + void (*SetRF) IPT1(IBOOL, val); + void (*SetVM) IPT1(IBOOL, val); + void (*SetAC) IPT1(IBOOL, val); + void (*SetPE) IPT1(IBOOL, val); + void (*SetMP) IPT1(IBOOL, val); + void (*SetEM) IPT1(IBOOL, val); + void (*SetTS) IPT1(IBOOL, val); + void (*SetPG) IPT1(IBOOL, val); + void (*SetLDT_SELECTOR) IPT1(IU16, val); + void (*SetTR_SELECTOR) IPT1(IU16, val); + void (*SetDREG0) IPT1(IU32, val); + void (*SetDREG1) IPT1(IU32, val); + void (*SetDREG2) IPT1(IU32, val); + void (*SetDREG3) IPT1(IU32, val); + void (*SetDREG6) IPT1(IU32, val); + void (*SetDREG7) IPT1(IU32, val); + IU8 (*GetAL) IPT0(); + IU8 (*GetAH) IPT0(); + IU16 (*GetAX) IPT0(); + IU32 (*GetEAX) IPT0(); + IU8 (*GetBL) IPT0(); + IU8 (*GetBH) IPT0(); + IU16 (*GetBX) IPT0(); + IU32 (*GetEBX) IPT0(); + IU8 (*GetCL) IPT0(); + IU8 (*GetCH) IPT0(); + IU16 (*GetCX) IPT0(); + IU32 (*GetECX) IPT0(); + IU8 (*GetDL) IPT0(); + IU8 (*GetDH) IPT0(); + IU16 (*GetDX) IPT0(); + IU32 (*GetEDX) IPT0(); + IU16 (*GetSI) IPT0(); + IU32 (*GetESI) IPT0(); + IU16 (*GetDI) IPT0(); + IU32 (*GetEDI) IPT0(); + IU16 (*GetSP) IPT0(); + IU32 (*GetESP) IPT0(); + IU16 (*GetBP) IPT0(); + IU32 (*GetEBP) IPT0(); + IU16 (*GetIP) IPT0(); + IU32 (*GetEIP) IPT0(); + IU16 (*GetCS) IPT0(); + IU16 (*GetSS) IPT0(); + IU16 (*GetDS) IPT0(); + IU16 (*GetES) IPT0(); + IU16 (*GetFS) IPT0(); + IU16 (*GetGS) IPT0(); + IU32 (*GetEFLAGS) IPT0(); + IU16 (*GetSTATUS) IPT0(); + IU8 (*GetIOPL) IPT0(); + IU16 (*GetMSW) IPT0(); + IU32 (*GetCR0) IPT0(); + IU32 (*GetCR2) IPT0(); + IU32 (*GetCR3) IPT0(); + IBOOL (*GetCF) IPT0(); + IBOOL (*GetPF) IPT0(); + IBOOL (*GetAF) IPT0(); + IBOOL (*GetZF) IPT0(); + IBOOL (*GetSF) IPT0(); + IBOOL (*GetTF) IPT0(); + IBOOL (*GetIF) IPT0(); + IBOOL (*GetDF) IPT0(); + IBOOL (*GetOF) IPT0(); + IBOOL (*GetNT) IPT0(); + IBOOL (*GetRF) IPT0(); + IBOOL (*GetVM) IPT0(); + IBOOL (*GetAC) IPT0(); + IBOOL (*GetPE) IPT0(); + IBOOL (*GetMP) IPT0(); + IBOOL (*GetEM) IPT0(); + IBOOL (*GetTS) IPT0(); + IBOOL (*GetET) IPT0(); + IBOOL (*GetNE) IPT0(); + IBOOL (*GetWP) IPT0(); + IBOOL (*GetPG) IPT0(); + IU32 (*GetGDT_BASE) IPT0(); + IU16 (*GetGDT_LIMIT) IPT0(); + IU32 (*GetIDT_BASE) IPT0(); + IU16 (*GetIDT_LIMIT) IPT0(); + IU16 (*GetLDT_SELECTOR) IPT0(); + IU32 (*GetLDT_BASE) IPT0(); + IU32 (*GetLDT_LIMIT) IPT0(); + IU16 (*GetTR_SELECTOR) IPT0(); + IU32 (*GetTR_BASE) IPT0(); + IU32 (*GetTR_LIMIT) IPT0(); + IU16 (*GetTR_AR) IPT0(); + IU32 (*GetDREG0) IPT0(); + IU32 (*GetDREG1) IPT0(); + IU32 (*GetDREG2) IPT0(); + IU32 (*GetDREG3) IPT0(); + IU32 (*GetDREG6) IPT0(); + IU32 (*GetDREG7) IPT0(); + IUH (*GetJumpCalibrateVal) IPT0(); + IUH (*GetJumpInitialVal) IPT0(); + void (*SetJumpInitialVal) IPT1(IUH, initialVal); + void (*SetEOIEnable) IPT1(IU8 *, initialVal); + void (*SetAddProfileData) IPT1(IHP, initialVal); + void (*SetMaxProfileData) IPT1(IHP, initialVal); + IHP (*GetAddProfileDataAddr) IPT0(); + void (*PurgeLostIretHookLine) IPT2(IU16, lineNum, IU32, depth); + void (*ActivityCheckAfterTimeSlice) IPT0(); + IBOOL (*CheckCsSelectorAndEipForCallFarPatching) IPT3(IU16, csSel, IU32, eip, IU32 *, pCsBase); + IU32 (*ClawbackBuffer) IPT1(IU16, bufferNo); + IU32 * (*NewClawbackBuffer) IPT0(); + void (*VdmFlushMappedPage) IPT1(IU32, mappedPage); +}; + +extern struct CpuVector Cpu; + +#ifdef CCPU +IMPORT void c_cpu_simulate IPT0(); +#define cpu_simulate() c_cpu_simulate() +#else /* CCPU */ +IMPORT IBOOL forceVideoRmSemantics; + +#ifdef PROD +#define cpu_simulate() { \ + IBOOL savedForceRM=forceVideoRmSemantics; \ + forceVideoRmSemantics=FALSE; \ + (*(Cpu.Simulate))(); \ + forceVideoRmSemantics=savedForceRM; } +#else /* PROD */ +IMPORT void cpu_simulate IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_cpu_interrupt IPT2(CPU_INT_TYPE, intType, IU16, intNum); +#define cpu_interrupt c_cpu_interrupt +#else /* CCPU */ + +#ifdef PROD +#define cpu_interrupt (*(Cpu.Interrupt)) +#else /* PROD */ +IMPORT void cpu_interrupt IPT2(CPU_INT_TYPE, intType, IU16, intNum); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_cpu_clearHwInt IPT0(); +#define cpu_clearHwInt c_cpu_clearHwInt +#else /* CCPU */ + +#ifdef PROD +#define cpu_clearHwInt (*(Cpu.ClearHwInt)) +#else /* PROD */ +IMPORT void cpu_clearHwInt IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_cpu_EOA_hook IPT0(); +#define cpu_EOA_hook c_cpu_EOA_hook +#else /* CCPU */ + +#ifdef PROD +#define cpu_EOA_hook (*(Cpu.EndOfApplication)) +#else /* PROD */ +IMPORT void cpu_EOA_hook IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_cpu_terminate IPT0(); +#define cpu_terminate() c_cpu_terminate() +#else /* CCPU */ + +#ifdef PROD +#define cpu_terminate() { if (Cpu.Terminate) (*(Cpu.Terminate))(); } +#else /* PROD */ +IMPORT void cpu_terminate IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_cpu_init IPT0(); +#define cpu_init c_cpu_init +#else /* CCPU */ + +#ifdef PROD +#define cpu_init (*(Cpu.Initialise)) +#else /* PROD */ +IMPORT void cpu_init IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_effective_addr IPT2(IU16, seg, IU32, offset); +#define effective_addr(seg, offset) c_effective_addr(seg, offset) +#else /* CCPU */ + +#ifdef PROD +#define effective_addr(seg, offset) (*(Cpu.EffectiveAddr))(seg, offset) +#else /* PROD */ +IMPORT IU32 effective_addr IPT2(IU16, seg, IU32, offset); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_cpu_q_ev_set_count IPT1(IU32, val); +#define host_q_ev_set_count c_cpu_q_ev_set_count +#else /* CCPU */ + +#ifdef PROD +#define host_q_ev_set_count (*(Cpu.SetQuickEventCount)) +#else /* PROD */ +IMPORT void host_q_ev_set_count IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_cpu_q_ev_get_count IPT0(); +#define host_q_ev_get_count c_cpu_q_ev_get_count +#else /* CCPU */ + +#ifdef PROD +#define host_q_ev_get_count (*(Cpu.GetQuickEventCount)) +#else /* PROD */ +IMPORT IU32 host_q_ev_get_count IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_cpu_init_ios_in IPT4(IHP, InTables, IHP, OutTables, IUH, maxAdaptor, IU16, portMask); +#define cpu_init_ios_in c_cpu_init_ios_in +#else /* CCPU */ + +#ifdef PROD +#define cpu_init_ios_in (*(Cpu.InitIOS)) +#else /* PROD */ +IMPORT void cpu_init_ios_in IPT4(IHP, InTables, IHP, OutTables, IUH, maxAdaptor, IU16, portMask); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_cpu_define_inb IPT2(IUH, adaptor, IHP, func); +#define ios_define_inb c_cpu_define_inb +#else /* CCPU */ + +#ifdef PROD +#define ios_define_inb (*(Cpu.DefineInb)) +#else /* PROD */ +IMPORT void ios_define_inb IPT2(IUH, adaptor, IHP, func); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_cpu_define_inw IPT2(IUH, adaptor, IHP, func); +#define ios_define_inw c_cpu_define_inw +#else /* CCPU */ + +#ifdef PROD +#define ios_define_inw (*(Cpu.DefineInw)) +#else /* PROD */ +IMPORT void ios_define_inw IPT2(IUH, adaptor, IHP, func); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_cpu_define_ind IPT2(IUH, adaptor, IHP, func); +#define ios_define_ind c_cpu_define_ind +#else /* CCPU */ + +#ifdef PROD +#define ios_define_ind (*(Cpu.DefineInd)) +#else /* PROD */ +IMPORT void ios_define_ind IPT2(IUH, adaptor, IHP, func); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_cpu_define_outb IPT2(IUH, adaptor, IHP, func); +#define ios_define_outb c_cpu_define_outb +#else /* CCPU */ + +#ifdef PROD +#define ios_define_outb (*(Cpu.DefineOutb)) +#else /* PROD */ +IMPORT void ios_define_outb IPT2(IUH, adaptor, IHP, func); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_cpu_define_outw IPT2(IUH, adaptor, IHP, func); +#define ios_define_outw c_cpu_define_outw +#else /* CCPU */ + +#ifdef PROD +#define ios_define_outw (*(Cpu.DefineOutw)) +#else /* PROD */ +IMPORT void ios_define_outw IPT2(IUH, adaptor, IHP, func); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_cpu_define_outd IPT2(IUH, adaptor, IHP, func); +#define ios_define_outd c_cpu_define_outd +#else /* CCPU */ + +#ifdef PROD +#define ios_define_outd (*(Cpu.DefineOutd)) +#else /* PROD */ +IMPORT void ios_define_outd IPT2(IUH, adaptor, IHP, func); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setAL IPT1(IU8, val); +#define setAL(val) c_setAL(val) +#else /* CCPU */ + +#ifdef PROD +#define setAL(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEax((GLOBAL_nanoEax & 0xFFFFFF00) | ((val) & 0x000000FF)): \ + SET_GLOBAL_R_EAX((GLOBAL_R_EAX & 0xFFFFFF00) | ((val) & 0x000000FF))) + +#else /* PROD */ +IMPORT void setAL IPT1(IU8, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setAH IPT1(IU8, val); +#define setAH(val) c_setAH(val) +#else /* CCPU */ + +#ifdef PROD +#define setAH(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEax((GLOBAL_nanoEax & 0xFFFF00FF) | (((val) & 0x000000FF) << 8)): \ + SET_GLOBAL_R_EAX((GLOBAL_R_EAX & 0xFFFF00FF) | (((val) & 0x000000FF) << 8))) + +#else /* PROD */ +IMPORT void setAH IPT1(IU8, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setAX IPT1(IU16, val); +#define setAX(val) c_setAX(val) +#else /* CCPU */ + +#ifdef PROD +#define setAX(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEax((GLOBAL_nanoEax & 0xFFFF0000) | ((val) & 0x0000FFFF)): \ + SET_GLOBAL_R_EAX((GLOBAL_R_EAX & 0xFFFF0000) | ((val) & 0x0000FFFF))) + +#else /* PROD */ +IMPORT void setAX IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setEAX IPT1(IU32, val); +#define setEAX(val) c_setEAX(val) +#else /* CCPU */ + +#ifdef PROD +#define setEAX(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEax(val): \ + SET_GLOBAL_R_EAX(val)) + +#else /* PROD */ +IMPORT void setEAX IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setBL IPT1(IU8, val); +#define setBL(val) c_setBL(val) +#else /* CCPU */ + +#ifdef PROD +#define setBL(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEbx((GLOBAL_nanoEbx & 0xFFFFFF00) | ((val) & 0x000000FF)): \ + SET_GLOBAL_R_EBX((GLOBAL_R_EBX & 0xFFFFFF00) | ((val) & 0x000000FF))) + +#else /* PROD */ +IMPORT void setBL IPT1(IU8, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setBH IPT1(IU8, val); +#define setBH(val) c_setBH(val) +#else /* CCPU */ + +#ifdef PROD +#define setBH(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEbx((GLOBAL_nanoEbx & 0xFFFF00FF) | (((val) & 0x000000FF) << 8)): \ + SET_GLOBAL_R_EBX((GLOBAL_R_EBX & 0xFFFF00FF) | (((val) & 0x000000FF) << 8))) + +#else /* PROD */ +IMPORT void setBH IPT1(IU8, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setBX IPT1(IU16, val); +#define setBX(val) c_setBX(val) +#else /* CCPU */ + +#ifdef PROD +#define setBX(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEbx((GLOBAL_nanoEbx & 0xFFFF0000) | ((val) & 0x0000FFFF)): \ + SET_GLOBAL_R_EBX((GLOBAL_R_EBX & 0xFFFF0000) | ((val) & 0x0000FFFF))) + +#else /* PROD */ +IMPORT void setBX IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setEBX IPT1(IU32, val); +#define setEBX(val) c_setEBX(val) +#else /* CCPU */ + +#ifdef PROD +#define setEBX(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEbx(val): \ + SET_GLOBAL_R_EBX(val)) + +#else /* PROD */ +IMPORT void setEBX IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setCL IPT1(IU8, val); +#define setCL(val) c_setCL(val) +#else /* CCPU */ + +#ifdef PROD +#define setCL(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEcx((GLOBAL_nanoEcx & 0xFFFFFF00) | ((val) & 0x000000FF)): \ + SET_GLOBAL_R_ECX((GLOBAL_R_ECX & 0xFFFFFF00) | ((val) & 0x000000FF))) + +#else /* PROD */ +IMPORT void setCL IPT1(IU8, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setCH IPT1(IU8, val); +#define setCH(val) c_setCH(val) +#else /* CCPU */ + +#ifdef PROD +#define setCH(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEcx((GLOBAL_nanoEcx & 0xFFFF00FF) | (((val) & 0x000000FF) << 8)): \ + SET_GLOBAL_R_ECX((GLOBAL_R_ECX & 0xFFFF00FF) | (((val) & 0x000000FF) << 8))) + +#else /* PROD */ +IMPORT void setCH IPT1(IU8, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setCX IPT1(IU16, val); +#define setCX(val) c_setCX(val) +#else /* CCPU */ + +#ifdef PROD +#define setCX(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEcx((GLOBAL_nanoEcx & 0xFFFF0000) | ((val) & 0x0000FFFF)): \ + SET_GLOBAL_R_ECX((GLOBAL_R_ECX & 0xFFFF0000) | ((val) & 0x0000FFFF))) + +#else /* PROD */ +IMPORT void setCX IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setECX IPT1(IU32, val); +#define setECX(val) c_setECX(val) +#else /* CCPU */ + +#ifdef PROD +#define setECX(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEcx(val): \ + SET_GLOBAL_R_ECX(val)) + +#else /* PROD */ +IMPORT void setECX IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setDL IPT1(IU8, val); +#define setDL(val) c_setDL(val) +#else /* CCPU */ + +#ifdef PROD +#define setDL(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEdx((GLOBAL_nanoEdx & 0xFFFFFF00) | ((val) & 0x000000FF)): \ + SET_GLOBAL_R_EDX((GLOBAL_R_EDX & 0xFFFFFF00) | ((val) & 0x000000FF))) + +#else /* PROD */ +IMPORT void setDL IPT1(IU8, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setDH IPT1(IU8, val); +#define setDH(val) c_setDH(val) +#else /* CCPU */ + +#ifdef PROD +#define setDH(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEdx((GLOBAL_nanoEdx & 0xFFFF00FF) | (((val) & 0x000000FF) << 8)): \ + SET_GLOBAL_R_EDX((GLOBAL_R_EDX & 0xFFFF00FF) | (((val) & 0x000000FF) << 8))) + +#else /* PROD */ +IMPORT void setDH IPT1(IU8, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setDX IPT1(IU16, val); +#define setDX(val) c_setDX(val) +#else /* CCPU */ + +#ifdef PROD +#define setDX(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEdx((GLOBAL_nanoEdx & 0xFFFF0000) | ((val) & 0x0000FFFF)): \ + SET_GLOBAL_R_EDX((GLOBAL_R_EDX & 0xFFFF0000) | ((val) & 0x0000FFFF))) + +#else /* PROD */ +IMPORT void setDX IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setEDX IPT1(IU32, val); +#define setEDX(val) c_setEDX(val) +#else /* CCPU */ + +#ifdef PROD +#define setEDX(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEdx(val): \ + SET_GLOBAL_R_EDX(val)) + +#else /* PROD */ +IMPORT void setEDX IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setSI IPT1(IU16, val); +#define setSI(val) c_setSI(val) +#else /* CCPU */ + +#ifdef PROD +#define setSI(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEsi((GLOBAL_nanoEsi & 0xFFFF0000) | ((val) & 0x0000FFFF)): \ + SET_GLOBAL_R_ESI((GLOBAL_R_ESI & 0xFFFF0000) | ((val) & 0x0000FFFF))) + +#else /* PROD */ +IMPORT void setSI IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setESI IPT1(IU32, val); +#define setESI(val) c_setESI(val) +#else /* CCPU */ + +#ifdef PROD +#define setESI(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEsi(val): \ + SET_GLOBAL_R_ESI(val)) + +#else /* PROD */ +IMPORT void setESI IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setDI IPT1(IU16, val); +#define setDI(val) c_setDI(val) +#else /* CCPU */ + +#ifdef PROD +#define setDI(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEdi((GLOBAL_nanoEdi & 0xFFFF0000) | ((val) & 0x0000FFFF)): \ + SET_GLOBAL_R_EDI((GLOBAL_R_EDI & 0xFFFF0000) | ((val) & 0x0000FFFF))) + +#else /* PROD */ +IMPORT void setDI IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setEDI IPT1(IU32, val); +#define setEDI(val) c_setEDI(val) +#else /* CCPU */ + +#ifdef PROD +#define setEDI(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEdi(val): \ + SET_GLOBAL_R_EDI(val)) + +#else /* PROD */ +IMPORT void setEDI IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setSP IPT1(IU16, val); +#define setSP(val) c_setSP(val) +#else /* CCPU */ + +#ifdef PROD +#define setSP(val) (*(Cpu.SetSP))(val) +#else /* PROD */ +IMPORT void setSP IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setESP IPT1(IU32, val); +#define setESP(val) c_setESP(val) +#else /* CCPU */ + +#ifdef PROD +#define setESP(val) (*(Cpu.SetESP))(val) +#else /* PROD */ +IMPORT void setESP IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setBP IPT1(IU16, val); +#define setBP(val) c_setBP(val) +#else /* CCPU */ + +#ifdef PROD +#define setBP(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEbp((GLOBAL_nanoEbp & 0xFFFF0000) | ((val) & 0x0000FFFF)): \ + SET_GLOBAL_R_EBP((GLOBAL_R_EBP & 0xFFFF0000) | ((val) & 0x0000FFFF))) + +#else /* PROD */ +IMPORT void setBP IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setEBP IPT1(IU32, val); +#define setEBP(val) c_setEBP(val) +#else /* CCPU */ + +#ifdef PROD +#define setEBP(val) (GLOBAL_InNanoCpu ? SET_GLOBAL_nanoEbp(val): \ + SET_GLOBAL_R_EBP(val)) + +#else /* PROD */ +IMPORT void setEBP IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setIP IPT1(IU16, val); +#define setIP(val) c_setIP(val) +#else /* CCPU */ + +#ifdef PROD +#define setIP(val) (*(Cpu.SetIP))(val) +#else /* PROD */ +IMPORT void setIP IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setEIP IPT1(IU32, val); +#define setEIP(val) c_setEIP(val) +#else /* CCPU */ + +#ifdef PROD +#define setEIP(val) (*(Cpu.SetEIP))(val) +#else /* PROD */ +IMPORT void setEIP IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IUH c_setCS IPT1(IU16, val); +#define setCS(val) c_setCS(val) +#else /* CCPU */ + +#ifdef PROD +#define setCS(val) (*(Cpu.SetCS))(val) +#else /* PROD */ +IMPORT IUH setCS IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IUH c_setSS IPT1(IU16, val); +#define setSS(val) c_setSS(val) +#else /* CCPU */ + +#ifdef PROD +#define setSS(val) (*(Cpu.SetSS))(val) +#else /* PROD */ +IMPORT IUH setSS IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IUH c_setDS IPT1(IU16, val); +#define setDS(val) c_setDS(val) +#else /* CCPU */ + +#ifdef PROD +#define setDS(val) (*(Cpu.SetDS))(val) +#else /* PROD */ +IMPORT IUH setDS IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IUH c_setES IPT1(IU16, val); +#define setES(val) c_setES(val) +#else /* CCPU */ + +#ifdef PROD +#define setES(val) (*(Cpu.SetES))(val) +#else /* PROD */ +IMPORT IUH setES IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IUH c_setFS IPT1(IU16, val); +#define setFS(val) c_setFS(val) +#else /* CCPU */ + +#ifdef PROD +#define setFS(val) (*(Cpu.SetFS))(val) +#else /* PROD */ +IMPORT IUH setFS IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IUH c_setGS IPT1(IU16, val); +#define setGS(val) c_setGS(val) +#else /* CCPU */ + +#ifdef PROD +#define setGS(val) (*(Cpu.SetGS))(val) +#else /* PROD */ +IMPORT IUH setGS IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setEFLAGS IPT1(IU32, val); +#define setEFLAGS(val) c_setEFLAGS(val) +#else /* CCPU */ + +#ifdef PROD +#define setEFLAGS(val) (*(Cpu.SetEFLAGS))(val) +#else /* PROD */ +IMPORT void setEFLAGS IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setSTATUS IPT1(IU16, val); +#define setSTATUS(val) c_setSTATUS(val) +#else /* CCPU */ + +#ifdef PROD +#define setSTATUS(val) (*(Cpu.SetSTATUS))(val) +#else /* PROD */ +IMPORT void setSTATUS IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setIOPL IPT1(IU8, val); +#define setIOPL(val) c_setIOPL(val) +#else /* CCPU */ + +#ifdef PROD +#define setIOPL(val) (*(Cpu.SetIOPL))(val) +#else /* PROD */ +IMPORT void setIOPL IPT1(IU8, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setMSW IPT1(IU16, val); +#define setMSW(val) c_setMSW(val) +#else /* CCPU */ + +#ifdef PROD +#define setMSW(val) (*(Cpu.SetMSW))(val) +#else /* PROD */ +IMPORT void setMSW IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setCR0 IPT1(IU32, val); +#define setCR0(val) c_setCR0(val) +#else /* CCPU */ + +#ifdef PROD +#define setCR0(val) (*(Cpu.SetCR0))(val) +#else /* PROD */ +IMPORT void setCR0 IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setCR2 IPT1(IU32, val); +#define setCR2(val) c_setCR2(val) +#else /* CCPU */ + +#ifdef PROD +#define setCR2(val) (*(Cpu.SetCR2))(val) +#else /* PROD */ +IMPORT void setCR2 IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setCR3 IPT1(IU32, val); +#define setCR3(val) c_setCR3(val) +#else /* CCPU */ + +#ifdef PROD +#define setCR3(val) (*(Cpu.SetCR3))(val) +#else /* PROD */ +IMPORT void setCR3 IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setCF IPT1(IBOOL, val); +#define setCF(val) c_setCF(val) +#else /* CCPU */ + +#ifdef PROD +#define setCF(val) (*(Cpu.SetCF))(val) +#else /* PROD */ +IMPORT void setCF IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setPF IPT1(IBOOL, val); +#define setPF(val) c_setPF(val) +#else /* CCPU */ + +#ifdef PROD +#define setPF(val) (*(Cpu.SetPF))(val) +#else /* PROD */ +IMPORT void setPF IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setAF IPT1(IBOOL, val); +#define setAF(val) c_setAF(val) +#else /* CCPU */ + +#ifdef PROD +#define setAF(val) (*(Cpu.SetAF))(val) +#else /* PROD */ +IMPORT void setAF IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setZF IPT1(IBOOL, val); +#define setZF(val) c_setZF(val) +#else /* CCPU */ + +#ifdef PROD +#define setZF(val) (*(Cpu.SetZF))(val) +#else /* PROD */ +IMPORT void setZF IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setSF IPT1(IBOOL, val); +#define setSF(val) c_setSF(val) +#else /* CCPU */ + +#ifdef PROD +#define setSF(val) (*(Cpu.SetSF))(val) +#else /* PROD */ +IMPORT void setSF IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setTF IPT1(IBOOL, val); +#define setTF(val) c_setTF(val) +#else /* CCPU */ + +#ifdef PROD +#define setTF(val) (*(Cpu.SetTF))(val) +#else /* PROD */ +IMPORT void setTF IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setIF IPT1(IBOOL, val); +#define setIF(val) c_setIF(val) +#else /* CCPU */ + +#ifdef PROD +#define setIF(val) (*(Cpu.SetIF))(val) +#else /* PROD */ +IMPORT void setIF IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setDF IPT1(IBOOL, val); +#define setDF(val) c_setDF(val) +#else /* CCPU */ + +#ifdef PROD +#define setDF(val) (*(Cpu.SetDF))(val) +#else /* PROD */ +IMPORT void setDF IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setOF IPT1(IBOOL, val); +#define setOF(val) c_setOF(val) +#else /* CCPU */ + +#ifdef PROD +#define setOF(val) (*(Cpu.SetOF))(val) +#else /* PROD */ +IMPORT void setOF IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setNT IPT1(IBOOL, val); +#define setNT(val) c_setNT(val) +#else /* CCPU */ + +#ifdef PROD +#define setNT(val) (*(Cpu.SetNT))(val) +#else /* PROD */ +IMPORT void setNT IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setRF IPT1(IBOOL, val); +#define setRF(val) c_setRF(val) +#else /* CCPU */ + +#ifdef PROD +#define setRF(val) (*(Cpu.SetRF))(val) +#else /* PROD */ +IMPORT void setRF IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setVM IPT1(IBOOL, val); +#define setVM(val) c_setVM(val) +#else /* CCPU */ + +#ifdef PROD +#define setVM(val) (*(Cpu.SetVM))(val) +#else /* PROD */ +IMPORT void setVM IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setAC IPT1(IBOOL, val); +#define setAC(val) c_setAC(val) +#else /* CCPU */ + +#ifdef PROD +#define setAC(val) (*(Cpu.SetAC))(val) +#else /* PROD */ +IMPORT void setAC IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setPE IPT1(IBOOL, val); +#define setPE(val) c_setPE(val) +#else /* CCPU */ + +#ifdef PROD +#define setPE(val) (*(Cpu.SetPE))(val) +#else /* PROD */ +IMPORT void setPE IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setMP IPT1(IBOOL, val); +#define setMP(val) c_setMP(val) +#else /* CCPU */ + +#ifdef PROD +#define setMP(val) (*(Cpu.SetMP))(val) +#else /* PROD */ +IMPORT void setMP IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setEM IPT1(IBOOL, val); +#define setEM(val) c_setEM(val) +#else /* CCPU */ + +#ifdef PROD +#define setEM(val) (*(Cpu.SetEM))(val) +#else /* PROD */ +IMPORT void setEM IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setTS IPT1(IBOOL, val); +#define setTS(val) c_setTS(val) +#else /* CCPU */ + +#ifdef PROD +#define setTS(val) (*(Cpu.SetTS))(val) +#else /* PROD */ +IMPORT void setTS IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setPG IPT1(IBOOL, val); +#define setPG(val) c_setPG(val) +#else /* CCPU */ + +#ifdef PROD +#define setPG(val) (*(Cpu.SetPG))(val) +#else /* PROD */ +IMPORT void setPG IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setLDT_SELECTOR IPT1(IU16, val); +#define setLDT_SELECTOR(val) c_setLDT_SELECTOR(val) +#else /* CCPU */ + +#ifdef PROD +#define setLDT_SELECTOR(val) (*(Cpu.SetLDT_SELECTOR))(val) +#else /* PROD */ +IMPORT void setLDT_SELECTOR IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setTR_SELECTOR IPT1(IU16, val); +#define setTR_SELECTOR(val) c_setTR_SELECTOR(val) +#else /* CCPU */ + +#ifdef PROD +#define setTR_SELECTOR(val) (*(Cpu.SetTR_SELECTOR))(val) +#else /* PROD */ +IMPORT void setTR_SELECTOR IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setDREG0 IPT1(IU32, val); +#define setDREG0(val) c_setDREG0(val) +#else /* CCPU */ + +#ifdef PROD +#define setDREG0(val) (*(Cpu.SetDREG0))(val) +#else /* PROD */ +IMPORT void setDREG0 IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setDREG1 IPT1(IU32, val); +#define setDREG1(val) c_setDREG1(val) +#else /* CCPU */ + +#ifdef PROD +#define setDREG1(val) (*(Cpu.SetDREG1))(val) +#else /* PROD */ +IMPORT void setDREG1 IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setDREG2 IPT1(IU32, val); +#define setDREG2(val) c_setDREG2(val) +#else /* CCPU */ + +#ifdef PROD +#define setDREG2(val) (*(Cpu.SetDREG2))(val) +#else /* PROD */ +IMPORT void setDREG2 IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setDREG3 IPT1(IU32, val); +#define setDREG3(val) c_setDREG3(val) +#else /* CCPU */ + +#ifdef PROD +#define setDREG3(val) (*(Cpu.SetDREG3))(val) +#else /* PROD */ +IMPORT void setDREG3 IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setDREG6 IPT1(IU32, val); +#define setDREG6(val) c_setDREG6(val) +#else /* CCPU */ + +#ifdef PROD +#define setDREG6(val) (*(Cpu.SetDREG6))(val) +#else /* PROD */ +IMPORT void setDREG6 IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setDREG7 IPT1(IU32, val); +#define setDREG7(val) c_setDREG7(val) +#else /* CCPU */ + +#ifdef PROD +#define setDREG7(val) (*(Cpu.SetDREG7))(val) +#else /* PROD */ +IMPORT void setDREG7 IPT1(IU32, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU8 c_getAL IPT0(); +#define getAL() c_getAL() +#else /* CCPU */ + +#ifdef PROD +#define getAL() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEax: GLOBAL_R_EAX)) & 0x000000FF) +#else /* PROD */ +IMPORT IU8 getAL IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU8 c_getAH IPT0(); +#define getAH() c_getAH() +#else /* CCPU */ + +#ifdef PROD +#define getAH() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEax: GLOBAL_R_EAX) >> 8) & 0x000000FF) +#else /* PROD */ +IMPORT IU8 getAH IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getAX IPT0(); +#define getAX() c_getAX() +#else /* CCPU */ + +#ifdef PROD +#define getAX() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEax: GLOBAL_R_EAX)) & 0x0000FFFF) +#else /* PROD */ +IMPORT IU16 getAX IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getEAX IPT0(); +#define getEAX() c_getEAX() +#else /* CCPU */ + +#ifdef PROD +#define getEAX() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEax: GLOBAL_R_EAX)) & 0xFFFFFFFF) +#else /* PROD */ +IMPORT IU32 getEAX IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU8 c_getBL IPT0(); +#define getBL() c_getBL() +#else /* CCPU */ + +#ifdef PROD +#define getBL() (*(Cpu.GetBL))() +#else /* PROD */ +IMPORT IU8 getBL IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU8 c_getBH IPT0(); +#define getBH() c_getBH() +#else /* CCPU */ + +#ifdef PROD +#define getBH() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEbx: GLOBAL_R_EBX) >> 8) & 0x000000FF) +#else /* PROD */ +IMPORT IU8 getBH IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getBX IPT0(); +#define getBX() c_getBX() +#else /* CCPU */ + +#ifdef PROD +#define getBX() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEbx: GLOBAL_R_EBX)) & 0x0000FFFF) +#else /* PROD */ +IMPORT IU16 getBX IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getEBX IPT0(); +#define getEBX() c_getEBX() +#else /* CCPU */ + +#ifdef PROD +#define getEBX() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEbx: GLOBAL_R_EBX)) & 0xFFFFFFFF) +#else /* PROD */ +IMPORT IU32 getEBX IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU8 c_getCL IPT0(); +#define getCL() c_getCL() +#else /* CCPU */ + +#ifdef PROD +#define getCL() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEcx: GLOBAL_R_ECX)) & 0x000000FF) +#else /* PROD */ +IMPORT IU8 getCL IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU8 c_getCH IPT0(); +#define getCH() c_getCH() +#else /* CCPU */ + +#ifdef PROD +#define getCH() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEcx: GLOBAL_R_ECX) >> 8) & 0x000000FF) +#else /* PROD */ +IMPORT IU8 getCH IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getCX IPT0(); +#define getCX() c_getCX() +#else /* CCPU */ + +#ifdef PROD +#define getCX() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEcx: GLOBAL_R_ECX)) & 0x0000FFFF) +#else /* PROD */ +IMPORT IU16 getCX IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getECX IPT0(); +#define getECX() c_getECX() +#else /* CCPU */ + +#ifdef PROD +#define getECX() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEcx: GLOBAL_R_ECX)) & 0xFFFFFFFF) +#else /* PROD */ +IMPORT IU32 getECX IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU8 c_getDL IPT0(); +#define getDL() c_getDL() +#else /* CCPU */ + +#ifdef PROD +#define getDL() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEdx: GLOBAL_R_EDX)) & 0x000000FF) +#else /* PROD */ +IMPORT IU8 getDL IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU8 c_getDH IPT0(); +#define getDH() c_getDH() +#else /* CCPU */ + +#ifdef PROD +#define getDH() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEdx: GLOBAL_R_EDX) >> 8) & 0x000000FF) +#else /* PROD */ +IMPORT IU8 getDH IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getDX IPT0(); +#define getDX() c_getDX() +#else /* CCPU */ + +#ifdef PROD +#define getDX() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEdx: GLOBAL_R_EDX)) & 0x0000FFFF) +#else /* PROD */ +IMPORT IU16 getDX IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getEDX IPT0(); +#define getEDX() c_getEDX() +#else /* CCPU */ + +#ifdef PROD +#define getEDX() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEdx: GLOBAL_R_EDX)) & 0xFFFFFFFF) +#else /* PROD */ +IMPORT IU32 getEDX IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getSI IPT0(); +#define getSI() c_getSI() +#else /* CCPU */ + +#ifdef PROD +#define getSI() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEsi: GLOBAL_R_ESI)) & 0x0000FFFF) +#else /* PROD */ +IMPORT IU16 getSI IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getESI IPT0(); +#define getESI() c_getESI() +#else /* CCPU */ + +#ifdef PROD +#define getESI() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEsi: GLOBAL_R_ESI)) & 0xFFFFFFFF) +#else /* PROD */ +IMPORT IU32 getESI IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getDI IPT0(); +#define getDI() c_getDI() +#else /* CCPU */ + +#ifdef PROD +#define getDI() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEdi: GLOBAL_R_EDI)) & 0x0000FFFF) +#else /* PROD */ +IMPORT IU16 getDI IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getEDI IPT0(); +#define getEDI() c_getEDI() +#else /* CCPU */ + +#ifdef PROD +#define getEDI() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEdi: GLOBAL_R_EDI)) & 0xFFFFFFFF) +#else /* PROD */ +IMPORT IU32 getEDI IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getSP IPT0(); +#define getSP() c_getSP() +#else /* CCPU */ + +#ifdef PROD +#define getSP() (*(Cpu.GetSP))() +#else /* PROD */ +IMPORT IU16 getSP IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getESP IPT0(); +#define getESP() c_getESP() +#else /* CCPU */ + +#ifdef PROD +#define getESP() (*(Cpu.GetESP))() +#else /* PROD */ +IMPORT IU32 getESP IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getBP IPT0(); +#define getBP() c_getBP() +#else /* CCPU */ + +#ifdef PROD +#define getBP() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEbp: GLOBAL_R_EBP)) & 0x0000FFFF) +#else /* PROD */ +IMPORT IU16 getBP IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getEBP IPT0(); +#define getEBP() c_getEBP() +#else /* CCPU */ + +#ifdef PROD +#define getEBP() (((GLOBAL_InNanoCpu ? GLOBAL_nanoEbp: GLOBAL_R_EBP)) & 0xFFFFFFFF) +#else /* PROD */ +IMPORT IU32 getEBP IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getIP IPT0(); +#define getIP() c_getIP() +#else /* CCPU */ + +#ifdef PROD +#define getIP() (*(Cpu.GetIP))() +#else /* PROD */ +IMPORT IU16 getIP IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getEIP IPT0(); +#define getEIP() c_getEIP() +#else /* CCPU */ + +#ifdef PROD +#define getEIP() (*(Cpu.GetEIP))() +#else /* PROD */ +IMPORT IU32 getEIP IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getCS IPT0(); +#define getCS() c_getCS() +#else /* CCPU */ + +#ifdef PROD +#define getCS() GLOBAL_CsSel +#else /* PROD */ +IMPORT IU16 getCS IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getSS IPT0(); +#define getSS() c_getSS() +#else /* CCPU */ + +#ifdef PROD +#define getSS() GLOBAL_SsSel +#else /* PROD */ +IMPORT IU16 getSS IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getDS IPT0(); +#define getDS() c_getDS() +#else /* CCPU */ + +#ifdef PROD +#define getDS() GLOBAL_DsSel +#else /* PROD */ +IMPORT IU16 getDS IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getES IPT0(); +#define getES() c_getES() +#else /* CCPU */ + +#ifdef PROD +#define getES() GLOBAL_EsSel +#else /* PROD */ +IMPORT IU16 getES IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getFS IPT0(); +#define getFS() c_getFS() +#else /* CCPU */ + +#ifdef PROD +#define getFS() GLOBAL_FsSel +#else /* PROD */ +IMPORT IU16 getFS IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getGS IPT0(); +#define getGS() c_getGS() +#else /* CCPU */ + +#ifdef PROD +#define getGS() GLOBAL_GsSel +#else /* PROD */ +IMPORT IU16 getGS IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getEFLAGS IPT0(); +#define getEFLAGS() c_getEFLAGS() +#else /* CCPU */ + +#ifdef PROD +#define getEFLAGS() (*(Cpu.GetEFLAGS))() +#else /* PROD */ +IMPORT IU32 getEFLAGS IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getSTATUS IPT0(); +#define getSTATUS() c_getSTATUS() +#else /* CCPU */ + +#ifdef PROD +#define getSTATUS() (*(Cpu.GetSTATUS))() +#else /* PROD */ +IMPORT IU16 getSTATUS IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU8 c_getIOPL IPT0(); +#define getIOPL() c_getIOPL() +#else /* CCPU */ + +#ifdef PROD +#define getIOPL() (*(Cpu.GetIOPL))() +#else /* PROD */ +IMPORT IU8 getIOPL IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getMSW IPT0(); +#define getMSW() c_getMSW() +#else /* CCPU */ + +#ifdef PROD +#define getMSW() (*(Cpu.GetMSW))() +#else /* PROD */ +IMPORT IU16 getMSW IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getCR0 IPT0(); +#define getCR0() c_getCR0() +#else /* CCPU */ + +#ifdef PROD +#define getCR0() (*(Cpu.GetCR0))() +#else /* PROD */ +IMPORT IU32 getCR0 IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getCR2 IPT0(); +#define getCR2() c_getCR2() +#else /* CCPU */ + +#ifdef PROD +#define getCR2() (*(Cpu.GetCR2))() +#else /* PROD */ +IMPORT IU32 getCR2 IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getCR3 IPT0(); +#define getCR3() c_getCR3() +#else /* CCPU */ + +#ifdef PROD +#define getCR3() (*(Cpu.GetCR3))() +#else /* PROD */ +IMPORT IU32 getCR3 IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getCF IPT0(); +#define getCF() c_getCF() +#else /* CCPU */ + +#ifdef PROD +#define getCF() (*(Cpu.GetCF))() +#else /* PROD */ +IMPORT IBOOL getCF IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getPF IPT0(); +#define getPF() c_getPF() +#else /* CCPU */ + +#ifdef PROD +#define getPF() (*(Cpu.GetPF))() +#else /* PROD */ +IMPORT IBOOL getPF IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getAF IPT0(); +#define getAF() c_getAF() +#else /* CCPU */ + +#ifdef PROD +#define getAF() (*(Cpu.GetAF))() +#else /* PROD */ +IMPORT IBOOL getAF IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getZF IPT0(); +#define getZF() c_getZF() +#else /* CCPU */ + +#ifdef PROD +#define getZF() (*(Cpu.GetZF))() +#else /* PROD */ +IMPORT IBOOL getZF IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getSF IPT0(); +#define getSF() c_getSF() +#else /* CCPU */ + +#ifdef PROD +#define getSF() (*(Cpu.GetSF))() +#else /* PROD */ +IMPORT IBOOL getSF IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getTF IPT0(); +#define getTF() c_getTF() +#else /* CCPU */ + +#ifdef PROD +#define getTF() (*(Cpu.GetTF))() +#else /* PROD */ +IMPORT IBOOL getTF IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getIF IPT0(); +#define getIF() c_getIF() +#else /* CCPU */ + +#ifdef PROD +#define getIF() (*(Cpu.GetIF))() +#else /* PROD */ +IMPORT IBOOL getIF IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getDF IPT0(); +#define getDF() c_getDF() +#else /* CCPU */ + +#ifdef PROD +#define getDF() (*(Cpu.GetDF))() +#else /* PROD */ +IMPORT IBOOL getDF IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getOF IPT0(); +#define getOF() c_getOF() +#else /* CCPU */ + +#ifdef PROD +#define getOF() (*(Cpu.GetOF))() +#else /* PROD */ +IMPORT IBOOL getOF IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getNT IPT0(); +#define getNT() c_getNT() +#else /* CCPU */ + +#ifdef PROD +#define getNT() (*(Cpu.GetNT))() +#else /* PROD */ +IMPORT IBOOL getNT IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getRF IPT0(); +#define getRF() c_getRF() +#else /* CCPU */ + +#ifdef PROD +#define getRF() (*(Cpu.GetRF))() +#else /* PROD */ +IMPORT IBOOL getRF IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getVM IPT0(); +#define getVM() c_getVM() +#else /* CCPU */ + +#ifdef PROD +#define getVM() (*(Cpu.GetVM))() +#else /* PROD */ +IMPORT IBOOL getVM IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getAC IPT0(); +#define getAC() c_getAC() +#else /* CCPU */ + +#ifdef PROD +#define getAC() (*(Cpu.GetAC))() +#else /* PROD */ +IMPORT IBOOL getAC IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getPE IPT0(); +#define getPE() c_getPE() +#else /* CCPU */ + +#ifdef PROD +#define getPE() (*(Cpu.GetPE))() +#else /* PROD */ +IMPORT IBOOL getPE IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getMP IPT0(); +#define getMP() c_getMP() +#else /* CCPU */ + +#ifdef PROD +#define getMP() (*(Cpu.GetMP))() +#else /* PROD */ +IMPORT IBOOL getMP IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getEM IPT0(); +#define getEM() c_getEM() +#else /* CCPU */ + +#ifdef PROD +#define getEM() (*(Cpu.GetEM))() +#else /* PROD */ +IMPORT IBOOL getEM IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getTS IPT0(); +#define getTS() c_getTS() +#else /* CCPU */ + +#ifdef PROD +#define getTS() (*(Cpu.GetTS))() +#else /* PROD */ +IMPORT IBOOL getTS IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getET IPT0(); +#define getET() c_getET() +#else /* CCPU */ + +#ifdef PROD +#define getET() (*(Cpu.GetET))() +#else /* PROD */ +IMPORT IBOOL getET IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getNE IPT0(); +#define getNE() c_getNE() +#else /* CCPU */ + +#ifdef PROD +#define getNE() (*(Cpu.GetNE))() +#else /* PROD */ +IMPORT IBOOL getNE IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getWP IPT0(); +#define getWP() c_getWP() +#else /* CCPU */ + +#ifdef PROD +#define getWP() (*(Cpu.GetWP))() +#else /* PROD */ +IMPORT IBOOL getWP IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_getPG IPT0(); +#define getPG() c_getPG() +#else /* CCPU */ + +#ifdef PROD +#define getPG() (*(Cpu.GetPG))() +#else /* PROD */ +IMPORT IBOOL getPG IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getGDT_BASE IPT0(); +#define getGDT_BASE() c_getGDT_BASE() +#else /* CCPU */ + +#ifdef PROD +#define getGDT_BASE() (*(Cpu.GetGDT_BASE))() +#else /* PROD */ +IMPORT IU32 getGDT_BASE IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getGDT_LIMIT IPT0(); +#define getGDT_LIMIT() c_getGDT_LIMIT() +#else /* CCPU */ + +#ifdef PROD +#define getGDT_LIMIT() (*(Cpu.GetGDT_LIMIT))() +#else /* PROD */ +IMPORT IU16 getGDT_LIMIT IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getIDT_BASE IPT0(); +#define getIDT_BASE() c_getIDT_BASE() +#else /* CCPU */ + +#ifdef PROD +#define getIDT_BASE() (*(Cpu.GetIDT_BASE))() +#else /* PROD */ +IMPORT IU32 getIDT_BASE IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getIDT_LIMIT IPT0(); +#define getIDT_LIMIT() c_getIDT_LIMIT() +#else /* CCPU */ + +#ifdef PROD +#define getIDT_LIMIT() (*(Cpu.GetIDT_LIMIT))() +#else /* PROD */ +IMPORT IU16 getIDT_LIMIT IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getLDT_SELECTOR IPT0(); +#define getLDT_SELECTOR() c_getLDT_SELECTOR() +#else /* CCPU */ + +#ifdef PROD +#define getLDT_SELECTOR() (*(Cpu.GetLDT_SELECTOR))() +#else /* PROD */ +IMPORT IU16 getLDT_SELECTOR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getLDT_BASE IPT0(); +#define getLDT_BASE() c_getLDT_BASE() +#else /* CCPU */ + +#ifdef PROD +#define getLDT_BASE() (*(Cpu.GetLDT_BASE))() +#else /* PROD */ +IMPORT IU32 getLDT_BASE IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getLDT_LIMIT IPT0(); +#define getLDT_LIMIT() c_getLDT_LIMIT() +#else /* CCPU */ + +#ifdef PROD +#define getLDT_LIMIT() (*(Cpu.GetLDT_LIMIT))() +#else /* PROD */ +IMPORT IU32 getLDT_LIMIT IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getTR_SELECTOR IPT0(); +#define getTR_SELECTOR() c_getTR_SELECTOR() +#else /* CCPU */ + +#ifdef PROD +#define getTR_SELECTOR() (*(Cpu.GetTR_SELECTOR))() +#else /* PROD */ +IMPORT IU16 getTR_SELECTOR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getTR_BASE IPT0(); +#define getTR_BASE() c_getTR_BASE() +#else /* CCPU */ + +#ifdef PROD +#define getTR_BASE() (*(Cpu.GetTR_BASE))() +#else /* PROD */ +IMPORT IU32 getTR_BASE IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getTR_LIMIT IPT0(); +#define getTR_LIMIT() c_getTR_LIMIT() +#else /* CCPU */ + +#ifdef PROD +#define getTR_LIMIT() (*(Cpu.GetTR_LIMIT))() +#else /* PROD */ +IMPORT IU32 getTR_LIMIT IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getTR_AR IPT0(); +#define getTR_AR() c_getTR_AR() +#else /* CCPU */ + +#ifdef PROD +#define getTR_AR() (*(Cpu.GetTR_AR))() +#else /* PROD */ +IMPORT IU16 getTR_AR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getDREG0 IPT0(); +#define getDREG0() c_getDREG0() +#else /* CCPU */ + +#ifdef PROD +#define getDREG0() (*(Cpu.GetDREG0))() +#else /* PROD */ +IMPORT IU32 getDREG0 IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getDREG1 IPT0(); +#define getDREG1() c_getDREG1() +#else /* CCPU */ + +#ifdef PROD +#define getDREG1() (*(Cpu.GetDREG1))() +#else /* PROD */ +IMPORT IU32 getDREG1 IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getDREG2 IPT0(); +#define getDREG2() c_getDREG2() +#else /* CCPU */ + +#ifdef PROD +#define getDREG2() (*(Cpu.GetDREG2))() +#else /* PROD */ +IMPORT IU32 getDREG2 IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getDREG3 IPT0(); +#define getDREG3() c_getDREG3() +#else /* CCPU */ + +#ifdef PROD +#define getDREG3() (*(Cpu.GetDREG3))() +#else /* PROD */ +IMPORT IU32 getDREG3 IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getDREG6 IPT0(); +#define getDREG6() c_getDREG6() +#else /* CCPU */ + +#ifdef PROD +#define getDREG6() (*(Cpu.GetDREG6))() +#else /* PROD */ +IMPORT IU32 getDREG6 IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getDREG7 IPT0(); +#define getDREG7() c_getDREG7() +#else /* CCPU */ + +#ifdef PROD +#define getDREG7() (*(Cpu.GetDREG7))() +#else /* PROD */ +IMPORT IU32 getDREG7 IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IUH host_get_q_calib_val IPT0(); +#define host_get_q_calib_val host_get_q_calib_val +#else /* CCPU */ + +#ifdef PROD +#define host_get_q_calib_val (*(Cpu.GetJumpCalibrateVal)) +#else /* PROD */ +IMPORT IUH host_get_q_calib_val IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IUH host_get_jump_restart IPT0(); +#define host_get_jump_restart host_get_jump_restart +#else /* CCPU */ + +#ifdef PROD +#define host_get_jump_restart (*(Cpu.GetJumpInitialVal)) +#else /* PROD */ +IMPORT IUH host_get_jump_restart IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void host_set_jump_restart IPT1(IUH, initialVal); +#define host_set_jump_restart(initialVal) host_set_jump_restart(initialVal) +#else /* CCPU */ + +#ifdef PROD +#define host_set_jump_restart(initialVal) (*(Cpu.SetJumpInitialVal))(initialVal) +#else /* PROD */ +IMPORT void host_set_jump_restart IPT1(IUH, initialVal); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void setEOIEnableAddr IPT1(IU8 *, initialVal); +#define setEOIEnableAddr(initialVal) setEOIEnableAddr(initialVal) +#else /* CCPU */ + +#ifdef PROD +#define setEOIEnableAddr(initialVal) (*(Cpu.SetEOIEnable))(initialVal) +#else /* PROD */ +IMPORT void setEOIEnableAddr IPT1(IU8 *, initialVal); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void setAddProfileDataPtr IPT1(IHP, initialVal); +#define setAddProfileDataPtr(initialVal) setAddProfileDataPtr(initialVal) +#else /* CCPU */ + +#ifdef PROD +#define setAddProfileDataPtr(initialVal) (*(Cpu.SetAddProfileData))(initialVal) +#else /* PROD */ +IMPORT void setAddProfileDataPtr IPT1(IHP, initialVal); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void setMaxProfileDataAddr IPT1(IHP, initialVal); +#define setMaxProfileDataAddr(initialVal) setMaxProfileDataAddr(initialVal) +#else /* CCPU */ + +#ifdef PROD +#define setMaxProfileDataAddr(initialVal) (*(Cpu.SetMaxProfileData))(initialVal) +#else /* PROD */ +IMPORT void setMaxProfileDataAddr IPT1(IHP, initialVal); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IHP getAddProfileDataAddr IPT0(); +#define getAddProfileDataAddr() getAddProfileDataAddr() +#else /* CCPU */ + +#ifdef PROD +#define getAddProfileDataAddr() (*(Cpu.GetAddProfileDataAddr))() +#else /* PROD */ +IMPORT IHP getAddProfileDataAddr IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void PurgeLostIretHookLine IPT2(IU16, lineNum, IU32, depth); +#define PurgeLostIretHookLine(lineNum, depth) PurgeLostIretHookLine(lineNum, depth) +#else /* CCPU */ + +#ifdef PROD +#define PurgeLostIretHookLine(lineNum, depth) (*(Cpu.PurgeLostIretHookLine))(lineNum, depth) +#else /* PROD */ +IMPORT void PurgeLostIretHookLine IPT2(IU16, lineNum, IU32, depth); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void ActivityCheckAfterTimeSlice IPT0(); +#define ActivityCheckAfterTimeSlice() ActivityCheckAfterTimeSlice() +#else /* CCPU */ + +#ifdef PROD +#define ActivityCheckAfterTimeSlice() (*(Cpu.ActivityCheckAfterTimeSlice))() +#else /* PROD */ +IMPORT void ActivityCheckAfterTimeSlice IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL CheckCsSelectorAndEipForCallFarPatching IPT3(IU16, csSel, IU32, eip, IU32 *, pCsBase); +#define CheckCsSelectorAndEipForCallFarPatching(csSel, eip, pCsBase) CheckCsSelectorAndEipForCallFarPatching(csSel, eip, pCsBase) +#else /* CCPU */ + +#ifdef PROD +#define CheckCsSelectorAndEipForCallFarPatching(csSel, eip, pCsBase) (*(Cpu.CheckCsSelectorAndEipForCallFarPatching))(csSel, eip, pCsBase) +#else /* PROD */ +IMPORT IBOOL CheckCsSelectorAndEipForCallFarPatching IPT3(IU16, csSel, IU32, eip, IU32 *, pCsBase); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 ClawbackBuffer IPT1(IU16, bufferNo); +#define ClawbackBuffer(bufferNo) ClawbackBuffer(bufferNo) +#else /* CCPU */ + +#ifdef PROD +#define ClawbackBuffer(bufferNo) (*(Cpu.ClawbackBuffer))(bufferNo) +#else /* PROD */ +IMPORT IU32 ClawbackBuffer IPT1(IU16, bufferNo); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 * NewClawbackBuffer IPT0(); +#define NewClawbackBuffer() NewClawbackBuffer() +#else /* CCPU */ + +#ifdef PROD +#define NewClawbackBuffer() (*(Cpu.NewClawbackBuffer))() +#else /* PROD */ +IMPORT IU32 * NewClawbackBuffer IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void VdmFlushMappedPage IPT1(IU32, mappedPage); +#define VdmFlushMappedPage(mappedPage) VdmFlushMappedPage(mappedPage) +#else /* CCPU */ + +#ifdef PROD +#define VdmFlushMappedPage(mappedPage) (*(Cpu.VdmFlushMappedPage))(mappedPage) +#else /* PROD */ +IMPORT void VdmFlushMappedPage IPT1(IU32, mappedPage); +#endif /*PROD*/ + +#endif /* CCPU */ + +typedef struct CpuStateREC * TypeCpuStateRECptr; +typedef struct ConstraintBitMapREC * TypeConstraintBitMapRECptr; +typedef struct EntryPointCacheREC * TypeEntryPointCacheRECptr; + +struct CpuPrivateVector { + IHP (*GetSadInfoTable) IPT0(); + IBOOL (*SetGDT_BASE_LIMIT) IPT2(IU32, base, IU16, limit); + IBOOL (*SetIDT_BASE_LIMIT) IPT2(IU32, base, IU16, limit); + IBOOL (*SetLDT_BASE_LIMIT) IPT2(IU32, base, IU32, limit); + IBOOL (*SetTR_BASE_LIMIT) IPT2(IU32, base, IU32, limit); + IBOOL (*SetTR_BASE_LIMIT_AR) IPT3(IU32, base, IU32, limit, IU16, ar); + IBOOL (*SetCS_BASE_LIMIT_AR) IPT3(IU32, base, IU32, limit, IU16, ar); + IBOOL (*SetSS_BASE_LIMIT_AR) IPT3(IU32, base, IU32, limit, IU16, ar); + IBOOL (*SetDS_BASE_LIMIT_AR) IPT3(IU32, base, IU32, limit, IU16, ar); + IBOOL (*SetES_BASE_LIMIT_AR) IPT3(IU32, base, IU32, limit, IU16, ar); + IBOOL (*SetFS_BASE_LIMIT_AR) IPT3(IU32, base, IU32, limit, IU16, ar); + IBOOL (*SetGS_BASE_LIMIT_AR) IPT3(IU32, base, IU32, limit, IU16, ar); + void (*SetCS_SELECTOR) IPT1(IU16, val); + void (*SetSS_SELECTOR) IPT1(IU16, val); + void (*SetDS_SELECTOR) IPT1(IU16, val); + void (*SetES_SELECTOR) IPT1(IU16, val); + void (*SetFS_SELECTOR) IPT1(IU16, val); + void (*SetGS_SELECTOR) IPT1(IU16, val); + IU16 (*GetCS_SELECTOR) IPT0(); + IU16 (*GetSS_SELECTOR) IPT0(); + IU16 (*GetDS_SELECTOR) IPT0(); + IU16 (*GetES_SELECTOR) IPT0(); + IU16 (*GetFS_SELECTOR) IPT0(); + IU16 (*GetGS_SELECTOR) IPT0(); + IU32 (*GetCS_BASE) IPT0(); + IU32 (*GetSS_BASE) IPT0(); + IU32 (*GetDS_BASE) IPT0(); + IU32 (*GetES_BASE) IPT0(); + IU32 (*GetFS_BASE) IPT0(); + IU32 (*GetGS_BASE) IPT0(); + IU32 (*GetCS_LIMIT) IPT0(); + IU32 (*GetSS_LIMIT) IPT0(); + IU32 (*GetDS_LIMIT) IPT0(); + IU32 (*GetES_LIMIT) IPT0(); + IU32 (*GetFS_LIMIT) IPT0(); + IU32 (*GetGS_LIMIT) IPT0(); + IU16 (*GetCS_AR) IPT0(); + IU16 (*GetSS_AR) IPT0(); + IU16 (*GetDS_AR) IPT0(); + IU16 (*GetES_AR) IPT0(); + IU16 (*GetFS_AR) IPT0(); + IU16 (*GetGS_AR) IPT0(); + IUH (*GetCPL) IPT0(); + void (*SetCPL) IPT1(IUH, prot); + void (*GetCpuState) IPT1(TypeCpuStateRECptr, state); + void (*SetCpuState) IPT1(TypeCpuStateRECptr, state); + void (*InitNanoCpu) IPT1(IU32, variety); + void (*InitRdWrCacheAndCookies) IPT1(IU32, variety); + void (*ResetRdWrCacheAndCookies) IPT1(IU32, variety); + void (*SetRegConstraint) IPT2(IU32, regId, IU8, constraintType); + void (*BpiCompileBPI) IPT1(char *, instructions); + void (*TrashIntelRegisters) IPT0(); + void (*FmDeleteAllStructures) IPT1(IU32, newCR0); + void (*SfForceVideoOff) IPT0(); + void (*SfRestoreVideoState) IPT0(); + void (*SfMarkPageAsParsed) IPT1(IU32, intelPpn); + void (*SfMarkPageAsNotParsed) IPT1(IU32, intelPpn); + void (*SfRemovePciMappings) IPT0(); + void (*SfSetInbHandler) IPT2(IU32, adaptorIndex, IU32, fastRoutineIndex); + void (*SfSetInwHandler) IPT2(IU32, adaptorIndex, IU32, fastRoutineIndex); + void (*SfSetIndHandler) IPT2(IU32, adaptorIndex, IU32, fastRoutineIndex); + void (*SfSetOutbHandler) IPT2(IU32, adaptorIndex, IU32, fastRoutineIndex); + void (*SfSetOutwHandler) IPT2(IU32, adaptorIndex, IU32, fastRoutineIndex); + void (*SfSetOutdHandler) IPT2(IU32, adaptorIndex, IU32, fastRoutineIndex); + void (*CompressRoms) IPT0(); + void (*DecompressRoms) IPT0(); + void (*OpMoveToDebugRegister) IPT2(INT, debugRegister, IU32, src); + void (*SetSnaffleDataDebugExcpn) IPT1(IBOOL, val); +}; + +#ifdef CCPU +IMPORT IHP c_getSadInfoTable IPT0(); +#define getSadInfoTable() c_getSadInfoTable() +#else /* CCPU */ + +#ifdef PROD +#define getSadInfoTable() (*((*(Cpu.Private)).GetSadInfoTable))() +#else /* PROD */ +IMPORT IHP getSadInfoTable IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_setGDT_BASE_LIMIT IPT2(IU32, base, IU16, limit); +#define setGDT_BASE_LIMIT(base, limit) c_setGDT_BASE_LIMIT(base, limit) +#else /* CCPU */ + +#ifdef PROD +#define setGDT_BASE_LIMIT(base, limit) (*((*(Cpu.Private)).SetGDT_BASE_LIMIT))(base, limit) +#else /* PROD */ +IMPORT IBOOL setGDT_BASE_LIMIT IPT2(IU32, base, IU16, limit); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_setIDT_BASE_LIMIT IPT2(IU32, base, IU16, limit); +#define setIDT_BASE_LIMIT(base, limit) c_setIDT_BASE_LIMIT(base, limit) +#else /* CCPU */ + +#ifdef PROD +#define setIDT_BASE_LIMIT(base, limit) (*((*(Cpu.Private)).SetIDT_BASE_LIMIT))(base, limit) +#else /* PROD */ +IMPORT IBOOL setIDT_BASE_LIMIT IPT2(IU32, base, IU16, limit); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_setLDT_BASE_LIMIT IPT2(IU32, base, IU32, limit); +#define setLDT_BASE_LIMIT(base, limit) c_setLDT_BASE_LIMIT(base, limit) +#else /* CCPU */ + +#ifdef PROD +#define setLDT_BASE_LIMIT(base, limit) (*((*(Cpu.Private)).SetLDT_BASE_LIMIT))(base, limit) +#else /* PROD */ +IMPORT IBOOL setLDT_BASE_LIMIT IPT2(IU32, base, IU32, limit); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_setTR_BASE_LIMIT IPT2(IU32, base, IU32, limit); +#define setTR_BASE_LIMIT(base, limit) c_setTR_BASE_LIMIT(base, limit) +#else /* CCPU */ + +#ifdef PROD +#define setTR_BASE_LIMIT(base, limit) (*((*(Cpu.Private)).SetTR_BASE_LIMIT))(base, limit) +#else /* PROD */ +IMPORT IBOOL setTR_BASE_LIMIT IPT2(IU32, base, IU32, limit); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_setTR_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#define setTR_BASE_LIMIT_AR(base, limit, ar) c_setTR_BASE_LIMIT_AR(base, limit, ar) +#else /* CCPU */ + +#ifdef PROD +#define setTR_BASE_LIMIT_AR(base, limit, ar) (*((*(Cpu.Private)).SetTR_BASE_LIMIT_AR))(base, limit, ar) +#else /* PROD */ +IMPORT IBOOL setTR_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_setCS_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#define setCS_BASE_LIMIT_AR(base, limit, ar) c_setCS_BASE_LIMIT_AR(base, limit, ar) +#else /* CCPU */ + +#ifdef PROD +#define setCS_BASE_LIMIT_AR(base, limit, ar) (*((*(Cpu.Private)).SetCS_BASE_LIMIT_AR))(base, limit, ar) +#else /* PROD */ +IMPORT IBOOL setCS_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_setSS_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#define setSS_BASE_LIMIT_AR(base, limit, ar) c_setSS_BASE_LIMIT_AR(base, limit, ar) +#else /* CCPU */ + +#ifdef PROD +#define setSS_BASE_LIMIT_AR(base, limit, ar) (*((*(Cpu.Private)).SetSS_BASE_LIMIT_AR))(base, limit, ar) +#else /* PROD */ +IMPORT IBOOL setSS_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_setDS_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#define setDS_BASE_LIMIT_AR(base, limit, ar) c_setDS_BASE_LIMIT_AR(base, limit, ar) +#else /* CCPU */ + +#ifdef PROD +#define setDS_BASE_LIMIT_AR(base, limit, ar) (*((*(Cpu.Private)).SetDS_BASE_LIMIT_AR))(base, limit, ar) +#else /* PROD */ +IMPORT IBOOL setDS_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_setES_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#define setES_BASE_LIMIT_AR(base, limit, ar) c_setES_BASE_LIMIT_AR(base, limit, ar) +#else /* CCPU */ + +#ifdef PROD +#define setES_BASE_LIMIT_AR(base, limit, ar) (*((*(Cpu.Private)).SetES_BASE_LIMIT_AR))(base, limit, ar) +#else /* PROD */ +IMPORT IBOOL setES_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_setFS_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#define setFS_BASE_LIMIT_AR(base, limit, ar) c_setFS_BASE_LIMIT_AR(base, limit, ar) +#else /* CCPU */ + +#ifdef PROD +#define setFS_BASE_LIMIT_AR(base, limit, ar) (*((*(Cpu.Private)).SetFS_BASE_LIMIT_AR))(base, limit, ar) +#else /* PROD */ +IMPORT IBOOL setFS_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IBOOL c_setGS_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#define setGS_BASE_LIMIT_AR(base, limit, ar) c_setGS_BASE_LIMIT_AR(base, limit, ar) +#else /* CCPU */ + +#ifdef PROD +#define setGS_BASE_LIMIT_AR(base, limit, ar) (*((*(Cpu.Private)).SetGS_BASE_LIMIT_AR))(base, limit, ar) +#else /* PROD */ +IMPORT IBOOL setGS_BASE_LIMIT_AR IPT3(IU32, base, IU32, limit, IU16, ar); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setCS_SELECTOR IPT1(IU16, val); +#define setCS_SELECTOR(val) c_setCS_SELECTOR(val) +#else /* CCPU */ + +#ifdef PROD +#define setCS_SELECTOR(val) (*((*(Cpu.Private)).SetCS_SELECTOR))(val) +#else /* PROD */ +IMPORT void setCS_SELECTOR IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setSS_SELECTOR IPT1(IU16, val); +#define setSS_SELECTOR(val) c_setSS_SELECTOR(val) +#else /* CCPU */ + +#ifdef PROD +#define setSS_SELECTOR(val) (*((*(Cpu.Private)).SetSS_SELECTOR))(val) +#else /* PROD */ +IMPORT void setSS_SELECTOR IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setDS_SELECTOR IPT1(IU16, val); +#define setDS_SELECTOR(val) c_setDS_SELECTOR(val) +#else /* CCPU */ + +#ifdef PROD +#define setDS_SELECTOR(val) (*((*(Cpu.Private)).SetDS_SELECTOR))(val) +#else /* PROD */ +IMPORT void setDS_SELECTOR IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setES_SELECTOR IPT1(IU16, val); +#define setES_SELECTOR(val) c_setES_SELECTOR(val) +#else /* CCPU */ + +#ifdef PROD +#define setES_SELECTOR(val) (*((*(Cpu.Private)).SetES_SELECTOR))(val) +#else /* PROD */ +IMPORT void setES_SELECTOR IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setFS_SELECTOR IPT1(IU16, val); +#define setFS_SELECTOR(val) c_setFS_SELECTOR(val) +#else /* CCPU */ + +#ifdef PROD +#define setFS_SELECTOR(val) (*((*(Cpu.Private)).SetFS_SELECTOR))(val) +#else /* PROD */ +IMPORT void setFS_SELECTOR IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setGS_SELECTOR IPT1(IU16, val); +#define setGS_SELECTOR(val) c_setGS_SELECTOR(val) +#else /* CCPU */ + +#ifdef PROD +#define setGS_SELECTOR(val) (*((*(Cpu.Private)).SetGS_SELECTOR))(val) +#else /* PROD */ +IMPORT void setGS_SELECTOR IPT1(IU16, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getCS_SELECTOR IPT0(); +#define getCS_SELECTOR() c_getCS_SELECTOR() +#else /* CCPU */ + +#ifdef PROD +#define getCS_SELECTOR() (*((*(Cpu.Private)).GetCS_SELECTOR))() +#else /* PROD */ +IMPORT IU16 getCS_SELECTOR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getSS_SELECTOR IPT0(); +#define getSS_SELECTOR() c_getSS_SELECTOR() +#else /* CCPU */ + +#ifdef PROD +#define getSS_SELECTOR() (*((*(Cpu.Private)).GetSS_SELECTOR))() +#else /* PROD */ +IMPORT IU16 getSS_SELECTOR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getDS_SELECTOR IPT0(); +#define getDS_SELECTOR() c_getDS_SELECTOR() +#else /* CCPU */ + +#ifdef PROD +#define getDS_SELECTOR() (*((*(Cpu.Private)).GetDS_SELECTOR))() +#else /* PROD */ +IMPORT IU16 getDS_SELECTOR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getES_SELECTOR IPT0(); +#define getES_SELECTOR() c_getES_SELECTOR() +#else /* CCPU */ + +#ifdef PROD +#define getES_SELECTOR() (*((*(Cpu.Private)).GetES_SELECTOR))() +#else /* PROD */ +IMPORT IU16 getES_SELECTOR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getFS_SELECTOR IPT0(); +#define getFS_SELECTOR() c_getFS_SELECTOR() +#else /* CCPU */ + +#ifdef PROD +#define getFS_SELECTOR() (*((*(Cpu.Private)).GetFS_SELECTOR))() +#else /* PROD */ +IMPORT IU16 getFS_SELECTOR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getGS_SELECTOR IPT0(); +#define getGS_SELECTOR() c_getGS_SELECTOR() +#else /* CCPU */ + +#ifdef PROD +#define getGS_SELECTOR() (*((*(Cpu.Private)).GetGS_SELECTOR))() +#else /* PROD */ +IMPORT IU16 getGS_SELECTOR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getCS_BASE IPT0(); +#define getCS_BASE() c_getCS_BASE() +#else /* CCPU */ + +#ifdef PROD +#define getCS_BASE() (*((*(Cpu.Private)).GetCS_BASE))() +#else /* PROD */ +IMPORT IU32 getCS_BASE IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getSS_BASE IPT0(); +#define getSS_BASE() c_getSS_BASE() +#else /* CCPU */ + +#ifdef PROD +#define getSS_BASE() (*((*(Cpu.Private)).GetSS_BASE))() +#else /* PROD */ +IMPORT IU32 getSS_BASE IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getDS_BASE IPT0(); +#define getDS_BASE() c_getDS_BASE() +#else /* CCPU */ + +#ifdef PROD +#define getDS_BASE() (*((*(Cpu.Private)).GetDS_BASE))() +#else /* PROD */ +IMPORT IU32 getDS_BASE IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getES_BASE IPT0(); +#define getES_BASE() c_getES_BASE() +#else /* CCPU */ + +#ifdef PROD +#define getES_BASE() (*((*(Cpu.Private)).GetES_BASE))() +#else /* PROD */ +IMPORT IU32 getES_BASE IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getFS_BASE IPT0(); +#define getFS_BASE() c_getFS_BASE() +#else /* CCPU */ + +#ifdef PROD +#define getFS_BASE() (*((*(Cpu.Private)).GetFS_BASE))() +#else /* PROD */ +IMPORT IU32 getFS_BASE IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getGS_BASE IPT0(); +#define getGS_BASE() c_getGS_BASE() +#else /* CCPU */ + +#ifdef PROD +#define getGS_BASE() (*((*(Cpu.Private)).GetGS_BASE))() +#else /* PROD */ +IMPORT IU32 getGS_BASE IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getCS_LIMIT IPT0(); +#define getCS_LIMIT() c_getCS_LIMIT() +#else /* CCPU */ + +#ifdef PROD +#define getCS_LIMIT() (*((*(Cpu.Private)).GetCS_LIMIT))() +#else /* PROD */ +IMPORT IU32 getCS_LIMIT IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getSS_LIMIT IPT0(); +#define getSS_LIMIT() c_getSS_LIMIT() +#else /* CCPU */ + +#ifdef PROD +#define getSS_LIMIT() (*((*(Cpu.Private)).GetSS_LIMIT))() +#else /* PROD */ +IMPORT IU32 getSS_LIMIT IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getDS_LIMIT IPT0(); +#define getDS_LIMIT() c_getDS_LIMIT() +#else /* CCPU */ + +#ifdef PROD +#define getDS_LIMIT() (*((*(Cpu.Private)).GetDS_LIMIT))() +#else /* PROD */ +IMPORT IU32 getDS_LIMIT IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getES_LIMIT IPT0(); +#define getES_LIMIT() c_getES_LIMIT() +#else /* CCPU */ + +#ifdef PROD +#define getES_LIMIT() (*((*(Cpu.Private)).GetES_LIMIT))() +#else /* PROD */ +IMPORT IU32 getES_LIMIT IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getFS_LIMIT IPT0(); +#define getFS_LIMIT() c_getFS_LIMIT() +#else /* CCPU */ + +#ifdef PROD +#define getFS_LIMIT() (*((*(Cpu.Private)).GetFS_LIMIT))() +#else /* PROD */ +IMPORT IU32 getFS_LIMIT IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU32 c_getGS_LIMIT IPT0(); +#define getGS_LIMIT() c_getGS_LIMIT() +#else /* CCPU */ + +#ifdef PROD +#define getGS_LIMIT() (*((*(Cpu.Private)).GetGS_LIMIT))() +#else /* PROD */ +IMPORT IU32 getGS_LIMIT IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getCS_AR IPT0(); +#define getCS_AR() c_getCS_AR() +#else /* CCPU */ + +#ifdef PROD +#define getCS_AR() (*((*(Cpu.Private)).GetCS_AR))() +#else /* PROD */ +IMPORT IU16 getCS_AR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getSS_AR IPT0(); +#define getSS_AR() c_getSS_AR() +#else /* CCPU */ + +#ifdef PROD +#define getSS_AR() (*((*(Cpu.Private)).GetSS_AR))() +#else /* PROD */ +IMPORT IU16 getSS_AR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getDS_AR IPT0(); +#define getDS_AR() c_getDS_AR() +#else /* CCPU */ + +#ifdef PROD +#define getDS_AR() (*((*(Cpu.Private)).GetDS_AR))() +#else /* PROD */ +IMPORT IU16 getDS_AR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getES_AR IPT0(); +#define getES_AR() c_getES_AR() +#else /* CCPU */ + +#ifdef PROD +#define getES_AR() (*((*(Cpu.Private)).GetES_AR))() +#else /* PROD */ +IMPORT IU16 getES_AR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getFS_AR IPT0(); +#define getFS_AR() c_getFS_AR() +#else /* CCPU */ + +#ifdef PROD +#define getFS_AR() (*((*(Cpu.Private)).GetFS_AR))() +#else /* PROD */ +IMPORT IU16 getFS_AR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IU16 c_getGS_AR IPT0(); +#define getGS_AR() c_getGS_AR() +#else /* CCPU */ + +#ifdef PROD +#define getGS_AR() (*((*(Cpu.Private)).GetGS_AR))() +#else /* PROD */ +IMPORT IU16 getGS_AR IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT IUH c_getCPL IPT0(); +#define getCPL() c_getCPL() +#else /* CCPU */ + +#ifdef PROD +#define getCPL() (*((*(Cpu.Private)).GetCPL))() +#else /* PROD */ +IMPORT IUH getCPL IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setCPL IPT1(IUH, prot); +#define setCPL(prot) c_setCPL(prot) +#else /* CCPU */ + +#ifdef PROD +#define setCPL(prot) (*((*(Cpu.Private)).SetCPL))(prot) +#else /* PROD */ +IMPORT void setCPL IPT1(IUH, prot); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_getCpuState IPT1(TypeCpuStateRECptr, state); +#define getCpuState(state) c_getCpuState(state) +#else /* CCPU */ + +#ifdef PROD +#define getCpuState(state) (*((*(Cpu.Private)).GetCpuState))(state) +#else /* PROD */ +IMPORT void getCpuState IPT1(TypeCpuStateRECptr, state); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setCpuState IPT1(TypeCpuStateRECptr, state); +#define setCpuState(state) c_setCpuState(state) +#else /* CCPU */ + +#ifdef PROD +#define setCpuState(state) (*((*(Cpu.Private)).SetCpuState))(state) +#else /* PROD */ +IMPORT void setCpuState IPT1(TypeCpuStateRECptr, state); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_InitNanoCpu IPT1(IU32, variety); +#define initNanoCpu(variety) c_InitNanoCpu(variety) +#else /* CCPU */ + +#ifdef PROD +#define initNanoCpu(variety) (*((*(Cpu.Private)).InitNanoCpu))(variety) +#else /* PROD */ +IMPORT void initNanoCpu IPT1(IU32, variety); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_InitRdWrCacheAndCookies IPT1(IU32, variety); +#define initRdWrCacheAndCookies(variety) c_InitRdWrCacheAndCookies(variety) +#else /* CCPU */ + +#ifdef PROD +#define initRdWrCacheAndCookies(variety) (*((*(Cpu.Private)).InitRdWrCacheAndCookies))(variety) +#else /* PROD */ +IMPORT void initRdWrCacheAndCookies IPT1(IU32, variety); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_ResetRdWrCacheAndCookies IPT1(IU32, variety); +#define resetRdWrCacheAndCookies(variety) c_ResetRdWrCacheAndCookies(variety) +#else /* CCPU */ + +#ifdef PROD +#define resetRdWrCacheAndCookies(variety) (*((*(Cpu.Private)).ResetRdWrCacheAndCookies))(variety) +#else /* PROD */ +IMPORT void resetRdWrCacheAndCookies IPT1(IU32, variety); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setRegConstraint IPT2(IU32, regId, IU8, constraintType); +#define setRegConstraint(regId, constraintType) c_setRegConstraint(regId, constraintType) +#else /* CCPU */ + +#ifdef PROD +#define setRegConstraint(regId, constraintType) (*((*(Cpu.Private)).SetRegConstraint))(regId, constraintType) +#else /* PROD */ +IMPORT void setRegConstraint IPT2(IU32, regId, IU8, constraintType); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define BpiCompileBPI(instructions) (*((*(Cpu.Private)).BpiCompileBPI))(instructions) +#else /* PROD */ +IMPORT void BpiCompileBPI IPT1(char *, instructions); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_trashIntelRegisters IPT0(); +#define trashIntelregisters c_trashIntelRegisters +#else /* CCPU */ + +#ifdef PROD +#define trashIntelregisters (*((*(Cpu.Private)).TrashIntelRegisters)) +#else /* PROD */ +IMPORT void trashIntelregisters IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define FmDeleteAllStructures(newCR0) (*((*(Cpu.Private)).FmDeleteAllStructures))(newCR0) +#else /* PROD */ +IMPORT void FmDeleteAllStructures IPT1(IU32, newCR0); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define sfForceVideoOff (*((*(Cpu.Private)).SfForceVideoOff)) +#else /* PROD */ +IMPORT void sfForceVideoOff IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define sfRestoreVideoState (*((*(Cpu.Private)).SfRestoreVideoState)) +#else /* PROD */ +IMPORT void sfRestoreVideoState IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define sfMarkPageAsParsed (*((*(Cpu.Private)).SfMarkPageAsParsed)) +#else /* PROD */ +IMPORT void sfMarkPageAsParsed IPT1(IU32, intelPpn); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define sfMarkPageAsNotParsed (*((*(Cpu.Private)).SfMarkPageAsNotParsed)) +#else /* PROD */ +IMPORT void sfMarkPageAsNotParsed IPT1(IU32, intelPpn); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define sfRemovePciMappings (*((*(Cpu.Private)).SfRemovePciMappings)) +#else /* PROD */ +IMPORT void sfRemovePciMappings IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define sfSetInbHandler (*((*(Cpu.Private)).SfSetInbHandler)) +#else /* PROD */ +IMPORT void sfSetInbHandler IPT2(IU32, adaptorIndex, IU32, fastRoutineIndex); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define sfSetInwHandler (*((*(Cpu.Private)).SfSetInwHandler)) +#else /* PROD */ +IMPORT void sfSetInwHandler IPT2(IU32, adaptorIndex, IU32, fastRoutineIndex); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define sfSetIndHandler (*((*(Cpu.Private)).SfSetIndHandler)) +#else /* PROD */ +IMPORT void sfSetIndHandler IPT2(IU32, adaptorIndex, IU32, fastRoutineIndex); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define sfSetOutbHandler (*((*(Cpu.Private)).SfSetOutbHandler)) +#else /* PROD */ +IMPORT void sfSetOutbHandler IPT2(IU32, adaptorIndex, IU32, fastRoutineIndex); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define sfSetOutwHandler (*((*(Cpu.Private)).SfSetOutwHandler)) +#else /* PROD */ +IMPORT void sfSetOutwHandler IPT2(IU32, adaptorIndex, IU32, fastRoutineIndex); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define sfSetOutdHandler (*((*(Cpu.Private)).SfSetOutdHandler)) +#else /* PROD */ +IMPORT void sfSetOutdHandler IPT2(IU32, adaptorIndex, IU32, fastRoutineIndex); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define CompressRoms (*((*(Cpu.Private)).CompressRoms)) +#else /* PROD */ +IMPORT void CompressRoms IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU + +#else /* CCPU */ + +#ifdef PROD +#define DecompressRoms (*((*(Cpu.Private)).DecompressRoms)) +#else /* PROD */ +IMPORT void DecompressRoms IPT0(); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_moveToDebugRegister IPT2(INT, debugRegister, IU32, src); +#define moveToDebugRegister(debugRegister, src) c_moveToDebugRegister(debugRegister, src) +#else /* CCPU */ + +#ifdef PROD +#define moveToDebugRegister(debugRegister, src) (*((*(Cpu.Private)).OpMoveToDebugRegister))(debugRegister, src) +#else /* PROD */ +IMPORT void moveToDebugRegister IPT2(INT, debugRegister, IU32, src); +#endif /*PROD*/ + +#endif /* CCPU */ + +#ifdef CCPU +IMPORT void c_setSnaffleDataDebugExcpn IPT1(IBOOL, val); +#define setSnaffleDataDebugExcpn(val) c_setSnaffleDataDebugExcpn(val) +#else /* CCPU */ + +#ifdef PROD +#define setSnaffleDataDebugExcpn(val) (*((*(Cpu.Private)).SetSnaffleDataDebugExcpn))(val) +#else /* PROD */ +IMPORT void setSnaffleDataDebugExcpn IPT1(IBOOL, val); +#endif /*PROD*/ + +#endif /* CCPU */ + +#endif /* _CPU4GEN_H_ */ +/*======================================== END ========================================*/ |