--- np2/i386c/ia32/cpu_mem.h 2011/12/29 13:32:12 1.13 +++ np2/i386c/ia32/cpu_mem.h 2012/06/18 14:30:27 1.16 @@ -36,32 +36,35 @@ extern "C" { /* * memory access check */ -void cpu_stack_push_check(UINT16 s, descriptor_t *sdp, UINT32 sp, UINT len); -void cpu_stack_pop_check(UINT16 s, descriptor_t *sdp, UINT32 sp, UINT len); +void MEMCALL cpu_stack_push_check(UINT16 s, descriptor_t *sdp, UINT32 sp, UINT len, BOOL is32bit); +void MEMCALL cpu_stack_pop_check(UINT16 s, descriptor_t *sdp, UINT32 sp, UINT len, BOOL is32bit); +#define SS_PUSH_CHECK1(sp, len, is32bit) \ + cpu_stack_push_check(CPU_SS_INDEX, &CPU_SS_DESC, (sp), (len), (is32bit)) +#define SS_POP_CHECK1(sp, len, is32bit) \ + cpu_stack_pop_check(CPU_SS_INDEX, &CPU_SS_DESC, (sp), (len), (is32bit)) #define SS_PUSH_CHECK(sp, len) \ - cpu_stack_push_check(CPU_SS_INDEX, &CPU_SS_DESC, (sp), (len)) + SS_PUSH_CHECK1((sp), (len), CPU_SS_DESC.d) #define SS_POP_CHECK(sp, len) \ - cpu_stack_pop_check(CPU_SS_INDEX, &CPU_SS_DESC, (sp), (len)) + SS_POP_CHECK1((sp), (len), CPU_SS_DESC.d) /* * virtual address function */ void MEMCALL cpu_vmemorywrite_b(int idx, UINT32 offset, UINT8 value); +#define cpu_vmemorywrite(i,o,v) cpu_vmemorywrite_b(i,o,v) void MEMCALL cpu_vmemorywrite_w(int idx, UINT32 offset, UINT16 value); void MEMCALL cpu_vmemorywrite_d(int idx, UINT32 offset, UINT32 value); void MEMCALL cpu_vmemorywrite_q(int idx, UINT32 offset, UINT64 value); void MEMCALL cpu_vmemorywrite_f(int idx, UINT32 offset, const REG80 *value); UINT8 MEMCALL cpu_vmemoryread_b(int idx, UINT32 offset); +#define cpu_vmemoryread(i,o) cpu_vmemoryread_b(i,o) UINT16 MEMCALL cpu_vmemoryread_w(int idx, UINT32 offset); UINT32 MEMCALL cpu_vmemoryread_d(int idx, UINT32 offset); UINT64 MEMCALL cpu_vmemoryread_q(int idx, UINT32 offset); REG80 MEMCALL cpu_vmemoryread_f(int idx, UINT32 offset); -UINT32 MEMCALL cpu_memory_access_va_RMW_b(int idx, UINT32 offset, UINT32 (CPUCALL *func)(UINT32, void *), void *arg); -UINT32 MEMCALL cpu_memory_access_va_RMW_w(int idx, UINT32 offset, UINT32 (CPUCALL *func)(UINT32, void *), void *arg); -UINT32 MEMCALL cpu_memory_access_va_RMW_d(int idx, UINT32 offset, UINT32 (CPUCALL *func)(UINT32, void *), void *arg); -#define cpu_vmemorywrite(i,o,v) cpu_vmemorywrite_b(i,o,v) -#define cpu_vmemoryread(i,o) cpu_vmemoryread_b(i,o) -#define cpu_memory_access_va_RMW(i,o,f,a) cpu_memory_access_va_RMW_b(i,o,f,a) +UINT32 MEMCALL cpu_vmemory_RMW_b(int idx, UINT32 offset, UINT32 (CPUCALL *func)(UINT32, void *), void *arg); +UINT32 MEMCALL cpu_vmemory_RMW_w(int idx, UINT32 offset, UINT32 (CPUCALL *func)(UINT32, void *), void *arg); +UINT32 MEMCALL cpu_vmemory_RMW_d(int idx, UINT32 offset, UINT32 (CPUCALL *func)(UINT32, void *), void *arg); /* * code fetch