X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Ftest-framework%2Fyaffs_m18_drv.c;h=eca97ecaa1889b6d1f4ad8c83cfcfcc4b6b3a2d7;hp=0325968279ac0521e9d67c51a8c706e2eb8adf89;hb=1c778c3bd4a01a5cad8db6ff52c24c99a3e9fa0e;hpb=54721f22512e7c859c4c4a4ae7e5374ecf7fb570 diff --git a/direct/test-framework/yaffs_m18_drv.c b/direct/test-framework/yaffs_m18_drv.c index 0325968..eca97ec 100644 --- a/direct/test-framework/yaffs_m18_drv.c +++ b/direct/test-framework/yaffs_m18_drv.c @@ -67,12 +67,16 @@ /* Compile this for a simulation */ #include "ynorsim.h" -#define m18_drv_FlashInit() ynorsim_initialise() -#define m18_drv_FlashDeinit() ynorsim_shutdown() -#define m18_drv_FlashWrite32(addr,buf,nwords) ynorsim_wr32(addr,buf,nwords) -#define m18_drv_FlashRead32(addr,buf,nwords) ynorsim_rd32(addr,buf,nwords) -#define m18_drv_FlashEraseBlock(addr) ynorsim_erase(addr) -#define DEVICE_BASE ynorsim_get_base() + +static struct nor_sim *nor_sim; + +#define m18_drv_FlashInit() do {nor_sim = ynorsim_initialise("emfile-m18", BLOCKS_IN_DEVICE, BLOCK_SIZE_IN_BYTES); } while(0) +#define m18_drv_FlashDeinit() ynorsim_shutdown(nor_sim) +#define m18_drv_FlashWrite32(addr,buf,nwords) ynorsim_wr32(nor_sim,addr,buf,nwords) +#define m18_drv_FlashRead32(addr,buf,nwords) ynorsim_rd32(nor_sim,addr,buf,nwords) +#define m18_drv_FlashEraseBlock(addr) ynorsim_erase(nor_sim,addr) +#define DEVICE_BASE ynorsim_get_base(nor_sim) + #else /* Compile this to hook up to read hardware */ @@ -85,6 +89,7 @@ #define DEVICE_BASE (32 * 1024 * 1024) #endif + static u32 *Block2Addr(struct yaffs_dev *dev, int blockNumber) { u32 addr; @@ -315,6 +320,7 @@ static int m18_drv_InitialiseNAND(struct yaffs_dev *dev) static int m18_drv_Deinitialise_flash_fn(struct yaffs_dev *dev) { dev=dev; + m18_drv_FlashDeinit(); return YAFFS_OK;