revision 488:d19a63e47cd9
summary |
tree |
shortlog |
changelog |
graph |
changeset |
raw | bz2 | zip | gz changeset | 488:d19a63e47cd9 |
parent | 487:b34abd796f5e |
child | 489:45c8ddcf52cb |
author | nkeynes |
date | Sun Nov 04 01:03:00 2007 +0000 (16 years ago) |
Change MAP_ANONYMOUS to MAP_ANON for bsd compatibility
1.1 --- a/src/mem.c Sat Nov 03 12:01:35 2007 +00001.2 +++ b/src/mem.c Sun Nov 04 01:03:00 2007 +00001.3 @@ -1,5 +1,5 @@1.4 /**1.5 - * $Id: mem.c,v 1.19 2007-10-31 11:53:35 nkeynes Exp $1.6 + * $Id: mem.c,v 1.20 2007-11-04 01:03:00 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 @@ -17,6 +17,7 @@1.11 */1.12 #define MODULE mem_module1.14 +#include <sys/types.h>1.15 #include <sys/mman.h>1.16 #include <sys/stat.h>1.17 #include <assert.h>1.18 @@ -49,7 +50,7 @@1.19 void *mem_alloc_pages( int n )1.20 {1.21 void *mem = mmap( NULL, n * 4096,1.22 - PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0 );1.23 + PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE, -1, 0 );1.24 if( mem == MAP_FAILED ) {1.25 ERROR( "Memory allocation failure! (%s)", strerror(errno) );1.26 return NULL;1.27 @@ -61,7 +62,7 @@1.28 void mem_init( void )1.29 {1.30 page_map = mmap( NULL, sizeof(char *) * PAGE_TABLE_ENTRIES,1.31 - PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0 );1.32 + PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE, -1, 0 );1.33 if( page_map == MAP_FAILED ) {1.34 ERROR( "Unable to allocate page map! (%s)", strerror(errno) );1.35 page_map = NULL;1.36 @@ -270,10 +271,11 @@1.37 {1.38 char *mem;1.39 uint32_t calc_crc;1.40 + int status;1.42 mem = mem_get_region(base);1.43 if( mem == NULL ) {1.44 - mem = mmap( NULL, size, PROT_WRITE|PROT_READ, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0 );1.45 + mem = mmap( NULL, size, PROT_WRITE|PROT_READ, MAP_ANON|MAP_PRIVATE, -1, 0 );1.46 if( mem == MAP_FAILED ) {1.47 ERROR( "Unable to allocate ROM memory: %s (%s)", file, strerror(errno) );1.48 return NULL;1.49 @@ -283,14 +285,16 @@1.50 mprotect( mem, size, PROT_READ|PROT_WRITE );1.51 }1.53 - mem_load_block( file, base, size );1.54 + status = mem_load_block( file, base, size );1.55 mprotect( mem, size, PROT_READ );1.57 - /* CRC check */1.58 - calc_crc = crc32(0L, (unsigned char *)mem, size);1.59 - if( calc_crc != crc ) {1.60 - WARN( "Bios CRC Mismatch in %s: %08X (expected %08X)",1.61 - file, calc_crc, crc);1.62 + if( status == 0 ) {1.63 + /* CRC check only if we loaded something */1.64 + calc_crc = crc32(0L, (unsigned char *)mem, size);1.65 + if( calc_crc != crc ) {1.66 + WARN( "Bios CRC Mismatch in %s: %08X (expected %08X)",1.67 + file, calc_crc, crc);1.68 + }1.69 }1.71 return mem;
2.1 --- a/src/sh4/xltcache.c Sat Nov 03 12:01:35 2007 +00002.2 +++ b/src/sh4/xltcache.c Sun Nov 04 01:03:00 2007 +00002.3 @@ -1,5 +1,5 @@2.4 /**2.5 - * $Id: xltcache.c,v 1.9 2007-10-07 06:27:12 nkeynes Exp $2.6 + * $Id: xltcache.c,v 1.10 2007-11-04 01:03:00 nkeynes Exp $2.7 *2.8 * Translation cache management. This part is architecture independent.2.9 *2.10 @@ -15,7 +15,8 @@2.11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the2.12 * GNU General Public License for more details.2.13 */2.14 -2.15 +2.16 +#include <sys/types.h>2.17 #include <sys/mman.h>2.18 #include <assert.h>2.20 @@ -62,18 +63,18 @@2.21 if( !xlat_initialized ) {2.22 xlat_initialized = TRUE;2.23 xlat_new_cache = mmap( NULL, XLAT_NEW_CACHE_SIZE, PROT_EXEC|PROT_READ|PROT_WRITE,2.24 - MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 );2.25 + MAP_PRIVATE|MAP_ANON, -1, 0 );2.26 xlat_temp_cache = mmap( NULL, XLAT_TEMP_CACHE_SIZE, PROT_EXEC|PROT_READ|PROT_WRITE,2.27 - MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 );2.28 + MAP_PRIVATE|MAP_ANON, -1, 0 );2.29 xlat_old_cache = mmap( NULL, XLAT_OLD_CACHE_SIZE, PROT_EXEC|PROT_READ|PROT_WRITE,2.30 - MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 );2.31 + MAP_PRIVATE|MAP_ANON, -1, 0 );2.32 xlat_new_cache_ptr = xlat_new_cache;2.33 xlat_temp_cache_ptr = xlat_temp_cache;2.34 xlat_old_cache_ptr = xlat_old_cache;2.35 xlat_new_create_ptr = xlat_new_cache;2.37 xlat_lut = mmap( NULL, XLAT_LUT_PAGES*sizeof(void *), PROT_READ|PROT_WRITE,2.38 - MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);2.39 + MAP_PRIVATE|MAP_ANON, -1, 0);2.40 memset( xlat_lut, 0, XLAT_LUT_PAGES*sizeof(void *) );2.41 }2.42 xlat_flush_cache();2.43 @@ -214,7 +215,7 @@2.44 if( page == NULL ) {2.45 xlat_lut[XLAT_LUT_PAGE(address)] = page =2.46 mmap( NULL, XLAT_LUT_PAGE_SIZE, PROT_READ|PROT_WRITE,2.47 - MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 );2.48 + MAP_PRIVATE|MAP_ANON, -1, 0 );2.49 memset( page, 0, XLAT_LUT_PAGE_SIZE );2.50 }2.52 @@ -351,7 +352,7 @@2.53 if( xlat_lut[XLAT_LUT_PAGE(address)] == NULL ) {2.54 xlat_lut[XLAT_LUT_PAGE(address)] =2.55 mmap( NULL, XLAT_LUT_PAGE_SIZE, PROT_READ|PROT_WRITE,2.56 - MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 );2.57 + MAP_PRIVATE|MAP_ANON, -1, 0 );2.58 memset( xlat_lut[XLAT_LUT_PAGE(address)], 0, XLAT_LUT_PAGE_SIZE );2.59 }
.