|
|
| version 1.9, 2005/03/12 12:32:54 | version 1.14, 2012/01/08 08:05:47 |
|---|---|
| Line 1 | Line 1 |
| /* $Id$ */ | |
| /* | /* |
| * Copyright (c) 2002-2004 NONAKA Kimihiro | * Copyright (c) 2002-2004 NONAKA Kimihiro |
| * All rights reserved. | * All rights reserved. |
| Line 38 extern "C" { | Line 36 extern "C" { |
| /* | /* |
| * memory access check | * memory access check |
| */ | */ |
| void cpu_memoryread_check(descriptor_t *sd, UINT32 madr, UINT length, int e); | void MEMCALL cpu_stack_push_check(UINT16 s, descriptor_t *sdp, UINT32 sp, UINT len); |
| void cpu_memorywrite_check(descriptor_t *sd, UINT32 madr, UINT length, int e); | void MEMCALL cpu_stack_pop_check(UINT16 s, descriptor_t *sdp, UINT32 sp, UINT len); |
| void cpu_stack_push_check(UINT16 s, descriptor_t *sd, UINT32 madr, UINT length); | #define SS_PUSH_CHECK(sp, len) \ |
| void cpu_stack_pop_check(UINT16 s, descriptor_t *sd, UINT32 madr, UINT length); | cpu_stack_push_check(CPU_SS_INDEX, &CPU_SS_DESC, (sp), (len)) |
| #define STACK_PUSH_CHECK(s, sd, addr, n) cpu_stack_push_check(s, sd, addr, n) | #define SS_POP_CHECK(sp, len) \ |
| #define STACK_POP_CHECK(s, sd, addr, n) cpu_stack_pop_check(s, sd, addr, n) | cpu_stack_pop_check(CPU_SS_INDEX, &CPU_SS_DESC, (sp), (len)) |
| /* | /* |
| * virtual address function | * virtual address function |
| */ | */ |
| void MEMCALL cpu_vmemorywrite_b(int idx, UINT32 offset, UINT8 value) GCC_ATTR_REGPARM; | void MEMCALL cpu_vmemorywrite_b(int idx, UINT32 offset, UINT8 value); |
| void MEMCALL cpu_vmemorywrite_w(int idx, UINT32 offset, UINT16 value) GCC_ATTR_REGPARM; | void MEMCALL cpu_vmemorywrite_w(int idx, UINT32 offset, UINT16 value); |
| void MEMCALL cpu_vmemorywrite_d(int idx, UINT32 offset, UINT32 value) GCC_ATTR_REGPARM; | void MEMCALL cpu_vmemorywrite_d(int idx, UINT32 offset, UINT32 value); |
| void MEMCALL cpu_vmemorywrite_q(int idx, UINT32 offset, UINT64 value) GCC_ATTR_REGPARM; | void MEMCALL cpu_vmemorywrite_q(int idx, UINT32 offset, UINT64 value); |
| void MEMCALL cpu_vmemorywrite_f(int idx, UINT32 offset, const REG80 *value) GCC_ATTR_REGPARM; | void MEMCALL cpu_vmemorywrite_f(int idx, UINT32 offset, const REG80 *value); |
| UINT8 MEMCALL cpu_vmemoryread_b(int idx, UINT32 offset) GCC_ATTR_REGPARM; | UINT8 MEMCALL cpu_vmemoryread_b(int idx, UINT32 offset); |
| UINT16 MEMCALL cpu_vmemoryread_w(int idx, UINT32 offset) GCC_ATTR_REGPARM; | UINT16 MEMCALL cpu_vmemoryread_w(int idx, UINT32 offset); |
| UINT32 MEMCALL cpu_vmemoryread_d(int idx, UINT32 offset) GCC_ATTR_REGPARM; | UINT32 MEMCALL cpu_vmemoryread_d(int idx, UINT32 offset); |
| UINT64 MEMCALL cpu_vmemoryread_q(int idx, UINT32 offset) GCC_ATTR_REGPARM; | UINT64 MEMCALL cpu_vmemoryread_q(int idx, UINT32 offset); |
| REG80 MEMCALL cpu_vmemoryread_f(int idx, UINT32 offset) GCC_ATTR_REGPARM; | REG80 MEMCALL cpu_vmemoryread_f(int idx, UINT32 offset); |
| UINT32 MEMCALL cpu_memory_access_va_RMW_b(int idx, UINT32 offset, UINT32 (*func)(UINT32, void *), void *arg) GCC_ATTR_REGPARM; | 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 (*func)(UINT32, void *), void *arg) GCC_ATTR_REGPARM; | 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 (*func)(UINT32, void *), void *arg) GCC_ATTR_REGPARM; | 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_vmemorywrite(i,o,v) cpu_vmemorywrite_b(i,o,v) |
| #define cpu_vmemoryread(i,o) cpu_vmemoryread_b(i,o) | #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) | #define cpu_memory_access_va_RMW(i,o,f,a) cpu_memory_access_va_RMW_b(i,o,f,a) |
| Line 68 UINT32 MEMCALL cpu_memory_access_va_RMW_ | Line 66 UINT32 MEMCALL cpu_memory_access_va_RMW_ |
| /* | /* |
| * code fetch | * code fetch |
| */ | */ |
| UINT8 MEMCALL cpu_codefetch(UINT32 madr) GCC_ATTR_REGPARM; | UINT8 MEMCALL cpu_codefetch(UINT32 offset); |
| UINT16 MEMCALL cpu_codefetch_w(UINT32 madr) GCC_ATTR_REGPARM; | UINT16 MEMCALL cpu_codefetch_w(UINT32 offset); |
| UINT32 MEMCALL cpu_codefetch_d(UINT32 madr) GCC_ATTR_REGPARM; | UINT32 MEMCALL cpu_codefetch_d(UINT32 offset); |
| /* | /* |
| * additional physical address function | * additional physical address function |
| */ | */ |
| UINT64 MEMCALL cpu_memoryread_q(UINT32 address) GCC_ATTR_REGPARM; | UINT64 MEMCALL cpu_memoryread_q(UINT32 paddr); |
| REG80 MEMCALL cpu_memoryread_f(UINT32 address) GCC_ATTR_REGPARM; | REG80 MEMCALL cpu_memoryread_f(UINT32 paddr); |
| void MEMCALL cpu_memorywrite_q(UINT32 address, UINT64 value) GCC_ATTR_REGPARM; | void MEMCALL cpu_memorywrite_q(UINT32 paddr, UINT64 value); |
| void MEMCALL cpu_memorywrite_f(UINT32 address, const REG80 *value) GCC_ATTR_REGPARM; | void MEMCALL cpu_memorywrite_f(UINT32 paddr, const REG80 *value); |
| #ifdef __cplusplus | #ifdef __cplusplus |
| } | } |