m25p80.c (3b35d4542c8537a9269f6372df531ced6c960084) m25p80.c (a9262f551eba44d4d0f9e396d7124c059a93e204)
1/*
2 * ST M25P80 emulator. Emulate all SPI flash devices based on the m25p80 command
3 * set. Known devices table current as of Jun/2012 and taken from linux.
4 * See drivers/mtd/devices/m25p80.c.
5 *
6 * Copyright (C) 2011 Edgar E. Iglesias <edgar.iglesias@gmail.com>
7 * Copyright (C) 2012 Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com>
8 * Copyright (C) 2012 PetaLogix

--- 1518 unchanged lines hidden (view full) ---

1527 ret = blk_set_perm(s->blk, perm, BLK_PERM_ALL, errp);
1528 if (ret < 0) {
1529 return;
1530 }
1531
1532 trace_m25p80_binding(s);
1533 s->storage = blk_blockalign(s->blk, s->size);
1534
1/*
2 * ST M25P80 emulator. Emulate all SPI flash devices based on the m25p80 command
3 * set. Known devices table current as of Jun/2012 and taken from linux.
4 * See drivers/mtd/devices/m25p80.c.
5 *
6 * Copyright (C) 2011 Edgar E. Iglesias <edgar.iglesias@gmail.com>
7 * Copyright (C) 2012 Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com>
8 * Copyright (C) 2012 PetaLogix

--- 1518 unchanged lines hidden (view full) ---

1527 ret = blk_set_perm(s->blk, perm, BLK_PERM_ALL, errp);
1528 if (ret < 0) {
1529 return;
1530 }
1531
1532 trace_m25p80_binding(s);
1533 s->storage = blk_blockalign(s->blk, s->size);
1534
1535 if (blk_pread(s->blk, 0, s->storage, s->size, 0) < 0) {
1535 if (blk_pread(s->blk, 0, s->size, s->storage, 0) < 0) {
1536 error_setg(errp, "failed to read the initial flash content");
1537 return;
1538 }
1539 } else {
1540 trace_m25p80_binding_no_bdrv(s);
1541 s->storage = blk_blockalign(NULL, s->size);
1542 memset(s->storage, 0xFF, s->size);
1543 }

--- 174 unchanged lines hidden ---
1536 error_setg(errp, "failed to read the initial flash content");
1537 return;
1538 }
1539 } else {
1540 trace_m25p80_binding_no_bdrv(s);
1541 s->storage = blk_blockalign(NULL, s->size);
1542 memset(s->storage, 0xFF, s->size);
1543 }

--- 174 unchanged lines hidden ---