projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More test clean ups
[yaffs2.git]
/
direct
/
ynorsim.c
diff --git
a/direct/ynorsim.c
b/direct/ynorsim.c
index 3281a2f374c3b78f05ec82572d974d4f2956e246..0c691a6a58c4418ee377ed4e8d76f16dbce535a0 100644
(file)
--- a/
direct/ynorsim.c
+++ b/
direct/ynorsim.c
@@
-10,7
+10,7
@@
#include <unistd.h>
#include <time.h>
#include <unistd.h>
#include <time.h>
-#define YNORSIM_FNAME "
ynorsimdata
"
+#define YNORSIM_FNAME "
emfile-nor
"
/* Set YNORSIM_BIT_CHANGES to a a value from 1..30 to
*simulate bit flipping as the programming happens.
/* Set YNORSIM_BIT_CHANGES to a a value from 1..30 to
*simulate bit flipping as the programming happens.
@@
-19,7
+19,7
@@
*/
//#define YNORSIM_BIT_CHANGES 15
*/
//#define YNORSIM_BIT_CHANGES 15
-#define YNORSIM_BIT_CHANGES
1
+#define YNORSIM_BIT_CHANGES
2
#if 0
/* Simulate 32MB of flash in 256k byte blocks.
#if 0
/* Simulate 32MB of flash in 256k byte blocks.
@@
-39,6
+39,8
@@
static __u32 word[YNORSIM_DEV_SIZE_U32];
static __u32 word[YNORSIM_DEV_SIZE_U32];
+extern int random_seed;
+extern int simulate_power_failure;
static void NorError(void)
{
static void NorError(void)
{
@@
-72,6
+74,8
@@
static int initialised = 0;
static int remaining_ops;
static int nops_so_far;
static int remaining_ops;
static int nops_so_far;
+int ops_multiplier = 500;
+
static void ynorsim_MaybePowerFail(void)
{
static void ynorsim_MaybePowerFail(void)
{
@@
-79,7
+83,8
@@
static void ynorsim_MaybePowerFail(void)
remaining_ops--;
remaining_ops--;
- if(remaining_ops < 1){
+ if(simulate_power_failure &&
+ remaining_ops < 1){
printf("Simulated power failure after %d operations\n",nops_so_far);
ynorsim_PowerFail();
}
printf("Simulated power failure after %d operations\n",nops_so_far);
ynorsim_PowerFail();
}
@@
-89,9
+94,9
@@
static void ynorsim_Ready(void)
{
if(initialised)
return;
{
if(initialised)
return;
- srand(
time(NULL)
);
+ srand(
random_seed
);
remaining_ops = 1000000000;
remaining_ops = 1000000000;
- remaining_ops = (rand() % 10000) *
3000
* YNORSIM_BIT_CHANGES;
+ remaining_ops = (rand() % 10000) *
ops_multiplier
* YNORSIM_BIT_CHANGES;
ynorsim_RestoreImage();
}
ynorsim_RestoreImage();
}