Mercurial > nand-ecoscentric
changeset 3372:0975f663163d
synth nand: straggling fixups for when we moved to partition-based addressing (oops)
| author | Ross Younger <wry@ecoscentric.com> |
|---|---|
| date | Fri, 09 Jul 2010 13:42:07 +0100 |
| parents | b2d53f2081c5 |
| children | 62b2c0f5902b |
| files | packages/devs/nand/synth/current/ChangeLog packages/devs/nand/synth/current/src/nand_synth.c packages/devs/nand/synth/current/tests/bbt.c |
| diffstat | 3 files changed, 15 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/devs/nand/synth/current/ChangeLog +++ b/packages/devs/nand/synth/current/ChangeLog @@ -2,6 +2,12 @@ 2014-08-01 Ross Younger <wry@ecoscentr * nand_synth.c: Make it build with recent gcc +2010-07-09 Ross Younger <wry@ecoscentric.com> + + * nand_synth.c: Cope with CYGSEM_NAND_SYNTH_ALLOW_MULTIPLE_WRITES not + being defined. + * tests/bbt.c: Build fix. + 2010-05-11 Ross Younger <wry@ecoscentric.com> * nand_synth.c, nand_synth.cdl: Allow simulation of multiple
--- a/packages/devs/nand/synth/current/src/nand_synth.c +++ b/packages/devs/nand/synth/current/src/nand_synth.c @@ -1604,7 +1604,7 @@ synth_writebegin(cyg_nand_device *dev, c // Do we make it bad this time? if (0 == result) _page_going_bad = write_check_injections(page); -#if CYGSEM_NAND_SYNTH_ALLOW_MULTIPLE_WRITES == 1 +#ifdef CYGSEM_NAND_SYNTH_ALLOW_MULTIPLE_WRITES_1 (void) i; #else // Do not allow multiple writes to a single page, for now. @@ -1651,7 +1651,7 @@ synth_writestride(cyg_nand_device *dev, } if (src && (size > 0)) { -#if CYGSEM_NAND_SYNTH_ALLOW_MULTIPLE_WRITES == 1 +#ifdef CYGSEM_NAND_SYNTH_ALLOW_MULTIPLE_WRITES_1 for (i=0; i<size; i++) image_data[_offset + _stridden + i] &= ((unsigned char*)src)[i]; #else @@ -1708,7 +1708,7 @@ synth_writefinish(cyg_nand_device *dev, if (0 == result) { if (spare && (spare_size > 0)) { -#if CYGSEM_NAND_SYNTH_ALLOW_MULTIPLE_WRITES == 1 +#ifdef CYGSEM_NAND_SYNTH_ALLOW_MULTIPLE_WRITES_1 for (i=0; i<spare_size; i++) image_data[_offset + PAGESIZE + i] &= ((unsigned char*)spare)[i]; #else
--- a/packages/devs/nand/synth/current/tests/bbt.c +++ b/packages/devs/nand/synth/current/tests/bbt.c @@ -110,16 +110,16 @@ int cyg_user_start(void) CYG_TEST_NA("nand partition 0 isn't big enough"); do { - rblk = (rand() % lim) + prt->first; + rblk = (rand() % lim); } while (cyg_nand_bbti_query(dev, rblk) != CYG_NAND_BBT_OK); - cyg_nand_page_addr pg = rblk * NAND_PAGES_PER_BLOCK(dev); - MUST(0==cyg_nand_read_page(prt, pg, tmp, NAND_BYTES_PER_PAGE(dev), 0, 0)); + cyg_nand_page_addr pg = rblk * CYG_NAND_PAGES_PER_BLOCK(dev); + MUST(0==cyg_nandp_read_page(prt, pg, tmp, 0, 0)); /* Mark bad, check the table is as expected, ensure we can't read it */ //MUST(0==cyg_nand_bbti_markbad(dev, rblk)); //MUST(0==cyg_nand_bbt_markbad(prt, rblk)); - MUST(0==cyg_nand_bbt_markbad_pageaddr(prt, pg)); + MUST(0==cyg_nandp_bbt_markbad_pageaddr(prt, pg)); bbt2 = malloc(MYBBTSIZE(dev)); read_bbt(dev, bbt2); @@ -134,14 +134,14 @@ int cyg_user_start(void) MUST(bbt1[i]==bbt2[i]); } } - MUST(0!=cyg_nand_read_page(prt, pg, tmp, NAND_BYTES_PER_PAGE(dev), 0, 0)); + MUST(0!=cyg_nandp_read_page(prt, pg, tmp, 0, 0)); /* Now revert */ MUST(0==cyg_nand_bbti_markany(dev, rblk, CYG_NAND_BBT_OK)); read_bbt(dev, bbt2); for (i=0; i<MYBBTSIZE(dev); i++) MUST(bbt1[i]==bbt2[i]); - MUST(0==cyg_nand_read_page(prt, pg, tmp, NAND_BYTES_PER_PAGE(dev), 0, 0)); + MUST(0==cyg_nandp_read_page(prt, pg, tmp, 0, 0)); CYG_TEST_PASS_FINISH("NAND read/BBT functional check"); return 0;
