|
|
| version 1.32, 2005/03/05 16:47:04 | version 1.36, 2008/01/25 18:02:18 |
|---|---|
| Line 12 | Line 12 |
| * 2. Redistributions in binary form must reproduce the above copyright | * 2. Redistributions in binary form must reproduce the above copyright |
| * notice, this list of conditions and the following disclaimer in the | * notice, this list of conditions and the following disclaimer in the |
| * documentation and/or other materials provided with the distribution. | * documentation and/or other materials provided with the distribution. |
| * 3. The name of the author may not be used to endorse or promote products | |
| * derived from this software without specific prior written permission. | |
| * | * |
| * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
| * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
| Line 257 typedef struct { | Line 255 typedef struct { |
| } I386STAT; | } I386STAT; |
| typedef struct { | typedef struct { |
| BYTE *ext; | UINT8 *ext; |
| UINT32 extsize; | UINT32 extsize; |
| UINT8 *extbase; /* = ext - 0x100000 */ | |
| UINT32 extlimit16mb; /* = extsize + 0x100000 (MAX:16MB) */ | |
| UINT32 extlimit4gb; /* = extsize + 0x100000 */ | |
| UINT32 inport; | UINT32 inport; |
| BYTE *ems[4]; | UINT8 *ems[4]; |
| } I386EXT; | } I386EXT; |
| typedef struct { | typedef struct { |
| Line 286 extern I386CORE i386core; | Line 287 extern I386CORE i386core; |
| #define CPU_EXTMEM i386core.e.ext | #define CPU_EXTMEM i386core.e.ext |
| #define CPU_EXTMEMSIZE i386core.e.extsize | #define CPU_EXTMEMSIZE i386core.e.extsize |
| #define CPU_EXTMEMBASE i386core.e.extbase | |
| #define CPU_EXTLIMIT16 i386core.e.extlimit16mb | |
| #define CPU_EXTLIMIT i386core.e.extlimit4gb | |
| #define CPU_INPADRS i386core.e.inport | #define CPU_INPADRS i386core.e.inport |
| #define CPU_EMSPTR i386core.e.ems | #define CPU_EMSPTR i386core.e.ems |
| Line 454 do { \ | Line 458 do { \ |
| #define REAL_FLAGREG ((CPU_FLAG & 0xf7ff) | (CPU_OV ? O_FLAG : 0) | 2) | #define REAL_FLAGREG ((CPU_FLAG & 0xf7ff) | (CPU_OV ? O_FLAG : 0) | 2) |
| #define REAL_EFLAGREG ((CPU_EFLAG & 0xfffff7ff) | (CPU_OV ? O_FLAG : 0) | 2) | #define REAL_EFLAGREG ((CPU_EFLAG & 0xfffff7ff) | (CPU_OV ? O_FLAG : 0) | 2) |
| #if !defined(IA32_DONT_USE_SET_EFLAGS_FUNCTION) | |
| void set_flags(UINT16 new_flags, UINT16 mask); | void set_flags(UINT16 new_flags, UINT16 mask); |
| void set_eflags(UINT32 new_flags, UINT32 mask); | void set_eflags(UINT32 new_flags, UINT32 mask); |
| #endif | |
| #define CPU_INST_OP32 CPU_STATSAVE.cpu_inst.op_32 | #define CPU_INST_OP32 CPU_STATSAVE.cpu_inst.op_32 |
| Line 499 void set_eflags(UINT32 new_flags, UINT32 | Line 501 void set_eflags(UINT32 new_flags, UINT32 |
| #define CPU_STAT_EXCEPTION_COUNTER_INC() CPU_STATSAVE.cpu_stat.nerror++ | #define CPU_STAT_EXCEPTION_COUNTER_INC() CPU_STATSAVE.cpu_stat.nerror++ |
| #define CPU_STAT_EXCEPTION_COUNTER_CLEAR() CPU_STATSAVE.cpu_stat.nerror = 0 | #define CPU_STAT_EXCEPTION_COUNTER_CLEAR() CPU_STATSAVE.cpu_stat.nerror = 0 |
| #define CPU_PREFETCH_CLEAR() | |
| #define CPU_PREFETCHQ_REMAIN_ADD(d) | |
| #define CPU_PREFETCHQ_REMAIN_SUB(d) | |
| #define CPU_MODE_SUPERVISER 0 | #define CPU_MODE_SUPERVISER 0 |
| #define CPU_MODE_USER (1 << 3) | #define CPU_MODE_USER (1 << 3) |
| #define CPU_SET_CPL(cpl) \ | #define CPU_SET_CPL(cpl) \ |