X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fbasic-test%2Fyaffscfg2k.c;h=bbaacb9e553c3c433fcd56ce25c04eb9397903a7;hp=6f7d2125d6f8ded3eb70890deb1665a2e28f2805;hb=d634851c1f36e7995726602d3af784478ccb472e;hpb=5409719091c79983abc45bcc3070bce6786c8278 diff --git a/direct/basic-test/yaffscfg2k.c b/direct/basic-test/yaffscfg2k.c index 6f7d212..bbaacb9 100644 --- a/direct/basic-test/yaffscfg2k.c +++ b/direct/basic-test/yaffscfg2k.c @@ -1,7 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. * - * Copyright (C) 2002-2010 Aleph One Ltd. + * Copyright (C) 2002-2011 Aleph One Ltd. * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning @@ -25,79 +25,25 @@ #include "yaffs_nandemul2k.h" #include "yaffs_norif1.h" #include "yaffs_trace.h" +#include "yaffs_osglue.h" #include -unsigned yaffs_trace_mask = +unsigned yaffs_trace_mask = - YAFFS_TRACE_SCAN | + YAFFS_TRACE_SCAN | YAFFS_TRACE_GC | - YAFFS_TRACE_ERASE | - YAFFS_TRACE_ERROR | - YAFFS_TRACE_TRACING | - YAFFS_TRACE_ALLOCATE | + YAFFS_TRACE_ERASE | + YAFFS_TRACE_ERROR | + YAFFS_TRACE_TRACING | + YAFFS_TRACE_ALLOCATE | YAFFS_TRACE_BAD_BLOCKS | - YAFFS_TRACE_VERIFY | - - 0; - - -static int yaffsfs_lastError; - -void yaffsfs_SetError(int err) -{ - //Do whatever to set error - yaffsfs_lastError = err; -} - - -int yaffsfs_GetLastError(void) -{ - return yaffsfs_lastError; -} + YAFFS_TRACE_VERIFY | -void yaffsfs_Lock(void) -{ -} - -void yaffsfs_Unlock(void) -{ -} - -u32 yaffsfs_CurrentTime(void) -{ - return 0; -} - - -static int yaffs_kill_alloc = 0; -static size_t total_malloced = 0; -static size_t malloc_limit = 0 & 6000000; - -void *yaffs_malloc(size_t size) -{ - void * this; - if(yaffs_kill_alloc) - return NULL; - if(malloc_limit && malloc_limit <(total_malloced + size) ) - return NULL; - - this = malloc(size); - if(this) - total_malloced += size; - return this; -} + 0; -void yaffs_free(void *ptr) -{ - free(ptr); -} -void yaffsfs_LocalInitialisation(void) -{ - // Define locking semaphore. -} // Configuration @@ -112,10 +58,16 @@ struct yaffs_dev m18_1Dev; int yaffs_start_up(void) { + static int start_up_called = 0; + + if(start_up_called) + return; + start_up_called = 1; + // Stuff to configure YAFFS // Stuff to initialise anything special (eg lock semaphore). - yaffsfs_LocalInitialisation(); - + yaffsfs_OSInitialisation(); + // Set up devices // /ram1 ram, yaffs1 memset(&ram1Dev,0,sizeof(ram1Dev)); @@ -124,7 +76,7 @@ int yaffs_start_up(void) ram1Dev.param.chunks_per_block = 32; ram1Dev.param.n_reserved_blocks = 2; // Set this smaller for RAM ram1Dev.param.start_block = 0; // Can use block 0 - ram1Dev.param.end_block = 127; // Last block in 2MB. + ram1Dev.param.end_block = 127; // Last block in 2MB. //ram1Dev.param.use_nand_ecc = 1; ram1Dev.param.n_caches = 0; // Disable caching on this device. ram1Dev.driver_context = (void *) 0; // Used to identify the device in fstat. @@ -132,7 +84,7 @@ int yaffs_start_up(void) ram1Dev.param.read_chunk_tags_fn = yramdisk_rd_chunk; ram1Dev.param.erase_fn = yramdisk_erase; ram1Dev.param.initialise_flash_fn = yramdisk_initialise; - + yaffs_add_device(&ram1Dev); // /M18-1 yaffs1 on M18 nor sim @@ -145,6 +97,7 @@ int yaffs_start_up(void) m18_1Dev.param.end_block = 31; // Last block m18_1Dev.param.use_nand_ecc = 0; // use YAFFS's ECC m18_1Dev.param.n_caches = 10; // Use caches + m18_1Dev.param.disable_soft_del = 1; m18_1Dev.driver_context = (void *) 1; // Used to identify the device in fstat. m18_1Dev.param.write_chunk_fn = ynorif1_WriteChunkToNAND; m18_1Dev.param.read_chunk_fn = ynorif1_ReadChunkFromNAND; @@ -184,7 +137,7 @@ int yaffs_start_up(void) yaffs_add_device(&flashDev); // todo yaffs_initialise(yaffsfs_config); - + return 0; }