revision 14:fc481a638848
summary |
tree |
shortlog |
changelog |
graph |
changeset |
raw | bz2 | zip | gz changeset | 14:fc481a638848 |
parent | 13:28aea89fb9c6 |
child | 15:5194dd0fdb60 |
author | nkeynes |
date | Mon Dec 12 10:37:41 2005 +0000 (17 years ago) |
Use cpu-specific is_valid_page function
![]() | src/aica/armcore.h | view | annotate | diff | log | |
![]() | src/aica/armdasm.c | view | annotate | diff | log | |
![]() | src/aica/armmem.c | view | annotate | diff | log | |
![]() | src/cpu.h | view | annotate | diff | log | |
![]() | src/gui/debug_win.c | view | annotate | diff | log | |
![]() | src/sh4/sh4dasm.c | view | annotate | diff | log |
1.1 --- a/src/aica/armcore.h Mon Dec 12 10:09:24 2005 +00001.2 +++ b/src/aica/armcore.h Mon Dec 12 10:37:41 2005 +00001.3 @@ -57,5 +57,6 @@1.4 void arm_write_word( uint32_t addr, uint32_t val );1.5 void arm_write_byte( uint32_t addr, uint32_t val );1.6 int32_t arm_read_phys_word( uint32_t addr );1.7 +int arm_has_page( uint32_t addr );1.9 #endif /* !dream_armcore_H */
2.1 --- a/src/aica/armdasm.c Mon Dec 12 10:09:24 2005 +00002.2 +++ b/src/aica/armdasm.c Mon Dec 12 10:37:41 2005 +00002.3 @@ -49,12 +49,16 @@2.4 {NULL, 0, NULL} };2.7 -const struct cpu_desc_struct arm_cpu_desc = { "ARM7", arm_disasm_instruction, 4,2.8 - (char *)&armr, sizeof(armr), arm_reg_map,2.9 - &armr.r[15], &armr.icount };2.10 -const struct cpu_desc_struct armt_cpu_desc = { "ARM7T", armt_disasm_instruction, 2,2.11 - (char*)&armr, sizeof(armr), arm_reg_map,2.12 - &armr.r[15], &armr.icount };2.13 +const struct cpu_desc_struct arm_cpu_desc =2.14 + { "ARM7", arm_disasm_instruction, 4,2.15 + (char *)&armr, sizeof(armr), arm_reg_map,2.16 + &armr.r[15], &armr.icount,2.17 + arm_has_page };2.18 +const struct cpu_desc_struct armt_cpu_desc =2.19 + { "ARM7T", armt_disasm_instruction, 2,2.20 + (char*)&armr, sizeof(armr), arm_reg_map,2.21 + &armr.r[15], &armr.icount,2.22 + arm_has_page };
3.1 --- a/src/aica/armmem.c Mon Dec 12 10:09:24 2005 +00003.2 +++ b/src/aica/armmem.c Mon Dec 12 10:37:41 2005 +00003.3 @@ -9,6 +9,11 @@3.5 }3.7 +int arm_has_page( uint32_t addr ) {3.8 + return ( addr < 0x00200000 ||3.9 + (addr >= 0x00800000 && addr <= 0x00805000 ) );3.10 +}3.11 +3.12 int32_t arm_read_long( uint32_t addr ) {3.13 if( addr < 0x00200000 ) {3.14 return *(int32_t *)(arm_mem + addr);
4.1 --- a/src/cpu.h Mon Dec 12 10:09:24 2005 +00004.2 +++ b/src/cpu.h Mon Dec 12 10:37:41 2005 +00004.3 @@ -43,7 +43,7 @@4.4 uint32_t *pc; /* Pointer to PC register */4.5 uint32_t *icount; /* Pointer to instruction counter */4.6 /* Memory map? */4.7 - is_valid_page_t valid_page_func; /* Test for valid memory page */4.8 + is_valid_page_t is_valid_page_func; /* Test for valid memory page */4.9 } *cpu_desc_t;4.11 #ifdef __cplusplus
5.1 --- a/src/gui/debug_win.c Mon Dec 12 10:09:24 2005 +00005.2 +++ b/src/gui/debug_win.c Mon Dec 12 10:37:41 2005 +00005.3 @@ -1,5 +1,5 @@5.4 /**5.5 - * $Id: debug_win.c,v 1.5 2005-12-11 12:00:03 nkeynes Exp $5.6 + * $Id: debug_win.c,v 1.6 2005-12-12 10:37:36 nkeynes Exp $5.7 * This file is responsible for the main debugger gui frame.5.8 *5.9 * Copyright (c) 2005 Nathan Keynes.5.10 @@ -142,7 +142,7 @@5.11 sprintf( addr, "%08X", from );5.12 gtk_entry_set_text( data->page_field, addr );5.14 - if( !mem_has_page( from ) ) {5.15 + if( !data->cpu->is_valid_page_func( from ) ) {5.16 arr[3] = "This page is currently unmapped";5.17 gtk_clist_append( data->disasm_list, arr );5.18 gtk_clist_set_foreground( data->disasm_list, 0, &clrError );
6.1 --- a/src/sh4/sh4dasm.c Mon Dec 12 10:09:24 2005 +00006.2 +++ b/src/sh4/sh4dasm.c Mon Dec 12 10:37:41 2005 +00006.3 @@ -24,9 +24,10 @@6.4 {NULL, 0, NULL} };6.7 -const struct cpu_desc_struct sh4_cpu_desc = { "SH4", sh4_disasm_instruction, 2,6.8 - (char *)&sh4r, sizeof(sh4r), sh4_reg_map,6.9 - &sh4r.pc, &sh4r.icount };6.10 +const struct cpu_desc_struct sh4_cpu_desc =6.11 + { "SH4", sh4_disasm_instruction, 2,6.12 + (char *)&sh4r, sizeof(sh4r), sh4_reg_map,6.13 + &sh4r.pc, &sh4r.icount, mem_has_page };6.15 uint32_t sh4_disasm_instruction( uint32_t pc, char *buf, int len, char *opcode )6.16 {
.