mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-24 12:09:58 +00:00
hw/block/pflash: Simplify trace_pflash_io_read/write()
Call the read() trace function after the value is set, so we can log the returned value. Rename the I/O trace functions with '_io_' in their name. Reviewed-by: Stephen Checkoway <stephen.checkoway@oberlin.edu> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-Id: <20190627202719.17739-3-philmd@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This commit is contained in:
parent
60b725b6d4
commit
e8aa2d95ea
@ -288,7 +288,6 @@ static uint32_t pflash_read(PFlashCFI01 *pfl, hwaddr offset,
|
||||
uint32_t ret;
|
||||
|
||||
ret = -1;
|
||||
trace_pflash_read(offset, pfl->cmd, width, pfl->wcycle);
|
||||
switch (pfl->cmd) {
|
||||
default:
|
||||
/* This should never happen : reset state & treat it as a read */
|
||||
@ -391,6 +390,8 @@ static uint32_t pflash_read(PFlashCFI01 *pfl, hwaddr offset,
|
||||
|
||||
break;
|
||||
}
|
||||
trace_pflash_io_read(offset, width, width << 1, ret, pfl->cmd, pfl->wcycle);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -453,7 +454,7 @@ static void pflash_write(PFlashCFI01 *pfl, hwaddr offset,
|
||||
|
||||
cmd = value;
|
||||
|
||||
trace_pflash_write(offset, value, width, pfl->wcycle);
|
||||
trace_pflash_io_write(offset, width, width << 1, value, pfl->wcycle);
|
||||
if (!pfl->wcycle) {
|
||||
/* Set the device in I/O access mode */
|
||||
memory_region_rom_device_set_romd(&pfl->mem, false);
|
||||
|
@ -145,7 +145,6 @@ static uint32_t pflash_read(PFlashCFI02 *pfl, hwaddr offset,
|
||||
uint8_t *p;
|
||||
|
||||
ret = -1;
|
||||
trace_pflash_read(offset, pfl->cmd, width, pfl->wcycle);
|
||||
/* Lazy reset to ROMD mode after a certain amount of read accesses */
|
||||
if (!pfl->rom_mode && pfl->wcycle == 0 &&
|
||||
++pfl->read_counter > PFLASH_LAZY_ROMD_THRESHOLD) {
|
||||
@ -241,6 +240,7 @@ static uint32_t pflash_read(PFlashCFI02 *pfl, hwaddr offset,
|
||||
}
|
||||
break;
|
||||
}
|
||||
trace_pflash_io_read(offset, width, width << 1, ret, pfl->cmd, pfl->wcycle);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -267,6 +267,7 @@ static void pflash_write(PFlashCFI02 *pfl, hwaddr offset,
|
||||
uint8_t *p;
|
||||
uint8_t cmd;
|
||||
|
||||
trace_pflash_io_write(offset, width, width << 1, value, pfl->wcycle);
|
||||
cmd = value;
|
||||
if (pfl->cmd != 0xA0 && cmd == 0xF0) {
|
||||
#if 0
|
||||
@ -275,11 +276,8 @@ static void pflash_write(PFlashCFI02 *pfl, hwaddr offset,
|
||||
#endif
|
||||
goto reset_flash;
|
||||
}
|
||||
trace_pflash_write(offset, value, width, pfl->wcycle);
|
||||
offset &= pfl->chip_len - 1;
|
||||
|
||||
DPRINTF("%s: offset " TARGET_FMT_plx " %08x %d\n", __func__,
|
||||
offset, value, width);
|
||||
boff = offset & (pfl->sector_len - 1);
|
||||
if (pfl->width == 2)
|
||||
boff = boff >> 1;
|
||||
|
@ -7,9 +7,9 @@ fdc_ioport_write(uint8_t reg, uint8_t value) "write reg 0x%02x val 0x%02x"
|
||||
# pflash_cfi02.c
|
||||
# pflash_cfi01.c
|
||||
pflash_reset(void) "reset"
|
||||
pflash_read(uint64_t offset, uint8_t cmd, int width, uint8_t wcycle) "offset:0x%04"PRIx64" cmd:0x%02x width:%d wcycle:%u"
|
||||
pflash_write(uint64_t offset, uint32_t value, int width, uint8_t wcycle) "offset:0x%04"PRIx64" value:0x%03x width:%d wcycle:%u"
|
||||
pflash_timer_expired(uint8_t cmd) "command 0x%02x done"
|
||||
pflash_io_read(uint64_t offset, int width, int fmt_width, uint32_t value, uint8_t cmd, uint8_t wcycle) "offset:0x%04"PRIx64" width:%d value:0x%0*x cmd:0x%02x wcycle:%u"
|
||||
pflash_io_write(uint64_t offset, int width, int fmt_width, uint32_t value, uint8_t wcycle) "offset:0x%04"PRIx64" width:%d value:0x%0*x wcycle:%u"
|
||||
pflash_data_read8(uint64_t offset, uint32_t value) "data offset:0x%04"PRIx64" value:0x%02x"
|
||||
pflash_data_read16(uint64_t offset, uint32_t value) "data offset:0x%04"PRIx64" value:0x%04x"
|
||||
pflash_data_read32(uint64_t offset, uint32_t value) "data offset:0x%04"PRIx64" value:0x%08x"
|
||||
|
Loading…
Reference in New Issue
Block a user