|
|
| version 1.5, 2004/01/27 15:56:57 | version 1.6, 2004/02/03 14:49:39 |
|---|---|
| Line 138 void MEMCALL paging_check(DWORD laddr, D | Line 138 void MEMCALL paging_check(DWORD laddr, D |
| * linear address function | * linear address function |
| */ | */ |
| DWORD MEMCALL cpu_linear_memory_read(DWORD address, DWORD length, int code); | DWORD MEMCALL cpu_linear_memory_read(DWORD address, DWORD length, int code); |
| void MEMCALL cpu_linear_memory_write(DWORD address, DWORD length, DWORD value); | void MEMCALL cpu_linear_memory_write(DWORD address, DWORD value, DWORD length); |
| #define cpu_lmemoryread(a) \ | #define cpu_lmemoryread(a) \ |
| (CPU_STAT_PAGING) ? \ | (!CPU_STAT_PAGING) ? \ |
| (BYTE)cpu_linear_memory_read(a, 1, FALSE) : \ | cpu_memoryread(a) : \ |
| cpu_memoryread(a); | (BYTE)cpu_linear_memory_read(a,1,FALSE) |
| #define cpu_lmemoryread_w(a) \ | #define cpu_lmemoryread_w(a) \ |
| (CPU_STAT_PAGING) ? \ | (!CPU_STAT_PAGING) ? \ |
| (WORD)cpu_linear_memory_read(a, 2, FALSE) : \ | cpu_memoryread_w(a) : \ |
| cpu_memoryread_w(a); | (WORD)cpu_linear_memory_read(a,2,FALSE) |
| #define cpu_lmemoryread_d(a) \ | #define cpu_lmemoryread_d(a) \ |
| (CPU_STAT_PAGING) ? \ | (!CPU_STAT_PAGING) ? \ |
| cpu_linear_memory_read(a, 4, FALSE) : \ | cpu_memoryread_d(a) : \ |
| cpu_memoryread_d(a); | cpu_linear_memory_read(a,4,FALSE) |
| #define cpu_lmemorywrite(a,v) \ | #define cpu_lmemorywrite(a,v) \ |
| (CPU_STAT_PAGING) ? \ | (!CPU_STAT_PAGING) ? \ |
| cpu_linear_memory_write(a, 1, v) : \ | cpu_memorywrite(a,v) : \ |
| cpu_memorywrite(a,v); | cpu_linear_memory_write(a,v,1) |
| #define cpu_lmemorywrite_w(a,v) \ | #define cpu_lmemorywrite_w(a,v) \ |
| (CPU_STAT_PAGING) ? \ | (!CPU_STAT_PAGING) ? \ |
| cpu_linear_memory_write(a, 2, v) : \ | cpu_memorywrite_w(a,v) : \ |
| cpu_memorywrite_w(a,v); | cpu_linear_memory_write(a,v,2) |
| #define cpu_lmemorywrite_d(a,v) \ | #define cpu_lmemorywrite_d(a,v) \ |
| (CPU_STAT_PAGING) ? \ | (!CPU_STAT_PAGING) ? \ |
| cpu_linear_memory_write(a, 4, v) : \ | cpu_memorywrite_d(a,v) : \ |
| cpu_memorywrite_d(a,v); | cpu_linear_memory_write(a,v,4) |
| #define cpu_lcmemoryread(a) \ | #define cpu_lcmemoryread(a) \ |
| (CPU_STAT_PAGING) ? \ | (!CPU_STAT_PAGING) ? \ |
| (BYTE)cpu_linear_memory_read(a, 1, TRUE) : \ | cpu_memoryread(a) : \ |
| cpu_memoryread(a); | (BYTE)cpu_linear_memory_read(a,1,TRUE) |
| #define cpu_lcmemoryread_w(a) \ | #define cpu_lcmemoryread_w(a) \ |
| (CPU_STAT_PAGING) ? \ | (!CPU_STAT_PAGING) ? \ |
| (WORD)cpu_linear_memory_read(a, 2, TRUE) : \ | cpu_memoryread_w(a) : \ |
| cpu_memoryread_w(a); | (WORD)cpu_linear_memory_read(a,2,TRUE) |
| #define cpu_lcmemoryread_d(a) \ | #define cpu_lcmemoryread_d(a) \ |
| (CPU_STAT_PAGING) ? \ | (!CPU_STAT_PAGING) ? \ |
| cpu_linear_memory_read(a, 4, TRUE) : \ | cpu_memoryread_d(a) : \ |
| cpu_memoryread_d(a); | cpu_linear_memory_read(a,4,TRUE) |
| #define set_CR3(cr3) \ | #define set_CR3(cr3) \ |
| do { \ | do { \ |
| CPU_CR3 = (cr3) & CPU_CR3_MASK; \ | CPU_CR3 = (cr3) & CPU_CR3_MASK; \ |
| CPU_STAT_PDE_BASE = CPU_CR3 & CPU_CR3_PD_MASK; \ | |
| tlb_flush(FALSE); \ | tlb_flush(FALSE); \ |
| } while (/*CONSTCOND*/ 0) | } while (/*CONSTCOND*/ 0) |