revision 510:41ce7a074f4e
summary |
tree |
shortlog |
changelog |
graph |
changeset |
raw | bz2 | zip | gz changeset | 510:41ce7a074f4e |
parent | 509:d72564edc482 |
child | 511:e02fb1af6fff |
author | nkeynes |
date | Wed Nov 14 10:21:33 2007 +0000 (16 years ago) |
Use an explicit 32-bit type for region flags (save-file compatibility)
Ensure page map is fully cleared
Ensure page map is fully cleared
1.1 --- a/src/mem.c Wed Nov 14 10:18:21 2007 +00001.2 +++ b/src/mem.c Wed Nov 14 10:21:33 2007 +00001.3 @@ -1,5 +1,5 @@1.4 /**1.5 - * $Id: mem.c,v 1.22 2007-11-08 11:54:16 nkeynes Exp $1.6 + * $Id: mem.c,v 1.23 2007-11-14 10:21:33 nkeynes Exp $1.7 * mem.c is responsible for creating and maintaining the overall system memory1.8 * map, as visible from the SH4 processor.1.9 *1.10 @@ -61,7 +61,7 @@1.12 void mem_init( void )1.13 {1.14 - page_map = mmap( NULL, sizeof(char *) * PAGE_TABLE_ENTRIES,1.15 + page_map = mmap( NULL, sizeof(sh4ptr_t) * PAGE_TABLE_ENTRIES,1.16 PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE, -1, 0 );1.17 if( page_map == MAP_FAILED ) {1.18 ERROR( "Unable to allocate page map! (%s)", strerror(errno) );1.19 @@ -69,7 +69,7 @@1.20 return;1.21 }1.23 - memset( page_map, 0, sizeof(uint32_t) * PAGE_TABLE_ENTRIES );1.24 + memset( page_map, 0, sizeof(sh4ptr_t) * PAGE_TABLE_ENTRIES );1.25 }1.27 void mem_reset( void )1.28 @@ -97,7 +97,7 @@1.29 for( i=0; i<num_mem_rgns; i++ ) {1.30 fwrite_string( mem_rgn[i].name, f );1.31 fwrite( &mem_rgn[i].base, sizeof(uint32_t), 1, f );1.32 - fwrite( &mem_rgn[i].flags, sizeof(int), 1, f );1.33 + fwrite( &mem_rgn[i].flags, sizeof(uint32_t), 1, f );1.34 fwrite( &mem_rgn[i].size, sizeof(uint32_t), 1, f );1.35 if( mem_rgn[i].flags != MEM_FLAG_ROM )1.36 fwrite_gzip( mem_rgn[i].mem, mem_rgn[i].size, 1, f );1.37 @@ -119,7 +119,7 @@1.38 char tmp[64];1.39 uint32_t len;1.40 uint32_t base, size;1.41 - int flags;1.42 + uint32_t flags;1.43 int i;1.45 /* All memory regions */
2.1 --- a/src/mem.h Wed Nov 14 10:18:21 2007 +00002.2 +++ b/src/mem.h Wed Nov 14 10:21:33 2007 +00002.3 @@ -1,5 +1,5 @@2.4 /**2.5 - * $Id: mem.h,v 1.16 2007-11-08 11:54:16 nkeynes Exp $2.6 + * $Id: mem.h,v 1.17 2007-11-14 10:21:33 nkeynes Exp $2.7 *2.8 * mem is responsible for creating and maintaining the overall system memory2.9 * map, as visible from the SH4 processor. (Note the ARM has a different map)2.10 @@ -32,7 +32,7 @@2.11 uint32_t size;2.12 const char *name;2.13 sh4ptr_t mem;2.14 - int flags;2.15 + uint32_t flags;2.16 } *mem_region_t;2.18 #define MAX_IO_REGIONS 24
.