[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH v5 02/28] hw/block/pflash: Simplify
From: |
Alistair Francis |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH v5 02/28] hw/block/pflash: Simplify trace_pflash_io_read/write() |
Date: |
Fri, 28 Jun 2019 08:53:32 -0700 |
On Thu, Jun 27, 2019 at 2:50 PM Stephen Checkoway
<address@hidden> wrote:
>
> Hi Phil,
>
> Thanks for pushing this forward! I'll try to get to the rest of these early
> next week.
>
> > On Jun 27, 2019, at 16:26, Philippe Mathieu-Daudé <address@hidden> wrote:
> >
> > 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.
> >
> > Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> > ---
> > hw/block/pflash_cfi01.c | 5 +++--
> > hw/block/pflash_cfi02.c | 6 ++----
> > hw/block/trace-events | 4 ++--
> > 3 files changed, 7 insertions(+), 8 deletions(-)
> >
> > diff --git a/hw/block/pflash_cfi01.c b/hw/block/pflash_cfi01.c
> > index 35080d915f..74fc1bc2da 100644
> > --- a/hw/block/pflash_cfi01.c
> > +++ b/hw/block/pflash_cfi01.c
> > @@ -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);
>
> width * 2 might make it more clear what is going on.
>
> > +
> > 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);
>
> Same here.
>
> > if (!pfl->wcycle) {
> > /* Set the device in I/O access mode */
> > memory_region_rom_device_set_romd(&pfl->mem, false);
> > diff --git a/hw/block/pflash_cfi02.c b/hw/block/pflash_cfi02.c
> > index eb106f4996..f05cd507b3 100644
> > --- a/hw/block/pflash_cfi02.c
> > +++ b/hw/block/pflash_cfi02.c
> > @@ -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);
>
> And here.
>
> >
> > 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);
>
> And here.
>
> > 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;
> > diff --git a/hw/block/trace-events b/hw/block/trace-events
> > index 97a17838ed..f637fe918e 100644
> > --- a/hw/block/trace-events
> > +++ b/hw/block/trace-events
> > @@ -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"
> > --
> > 2.20.1
> >
>
> Either way,
>
> Signed-off-by: Stephen Checkoway <address@hidden>
>
> (And please let me know if I'm doing code review incorrectly or if that
> should be Reviewed-by or whatever.)
For code review it should be Reviewed-by (or Acked-by if you are less sure).
Alistair
>
> Cheers,
>
> Steve
>
> --
> Stephen Checkoway
>
>
>
>
>
>
- [Qemu-block] [PATCH v5 00/28] block/pflash_cfi02: Implement missing AMD pflash functionality, Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-block] [PATCH v5 01/28] tests/pflash-cfi02: Add test for supported CFI commands, Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-block] [PATCH v5 02/28] hw/block/pflash: Simplify trace_pflash_io_read/write(), Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-block] [PATCH v5 03/28] hw/block/pflash: Simplify trace_pflash_data_read/write(), Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-block] [PATCH v5 04/28] hw/block/pflash_cfi02: Fix debug format string, Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-block] [PATCH v5 05/28] hw/block/pflash_cfi02: Add an enum to define the write cycles, Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-block] [PATCH v5 06/28] hw/block/pflash_cfi02: Add helpers to manipulate the status bits, Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-block] [PATCH v5 07/28] hw/block/pflash_cfi02: Simplify a statement using fall through, Philippe Mathieu-Daudé, 2019/06/27