qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Alistair Francis <alistair23@gmail.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	"Stephen Checkoway" <stephen.checkoway@oberlin.edu>,
	"qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Qemu-block <qemu-block@nongnu.org>,
	"John Snow" <jsnow@redhat.com>,
	"Magnus Damm" <magnus.damm@gmail.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Antony Pavlov" <antonynpavlov@gmail.com>,
	"Laurent Vivier" <lvivier@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Alistair Francis" <alistair@alistair23.me>,
	qemu-arm <qemu-arm@nongnu.org>, "Jan Kiszka" <jan.kiszka@web.de>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"David Gibson" <david@gibson.dropbear.id.au>,
	"Kevin Wolf" <kwolf@redhat.com>, "Max Reitz" <mreitz@redhat.com>,
	"Michael Walle" <michael@walle.cc>,
	"open list:New World" <qemu-ppc@nongnu.org>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Aurelien Jarno" <aurelien@aurel32.net>
Subject: Re: [Qemu-devel] [PATCH v5 02/28] hw/block/pflash: Simplify trace_pflash_io_read/write()
Date: Fri, 28 Jun 2019 08:52:52 -0700	[thread overview]
Message-ID: <CAKmqyKPDKbHW+bH-sHefHJ3A_wpXNOyP2BoFRTtAMrr61yt6SA@mail.gmail.com> (raw)
In-Reply-To: <20190627202719.17739-3-philmd@redhat.com>

On Thu, Jun 27, 2019 at 1:38 PM Philippe Mathieu-Daudé
<philmd@redhat.com> 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é <philmd@redhat.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  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);
> +
>      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);
> 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);
>
>      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;
> 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
>
>


  parent reply	other threads:[~2019-06-28 17:00 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-27 20:26 [Qemu-devel] [PATCH v5 00/28] block/pflash_cfi02: Implement missing AMD pflash functionality Philippe Mathieu-Daudé
2019-06-27 20:26 ` [Qemu-devel] [PATCH v5 01/28] tests/pflash-cfi02: Add test for supported CFI commands Philippe Mathieu-Daudé
2019-06-27 20:26 ` [Qemu-devel] [PATCH v5 02/28] hw/block/pflash: Simplify trace_pflash_io_read/write() Philippe Mathieu-Daudé
2019-06-27 21:49   ` Stephen Checkoway
2019-06-28 15:53     ` Alistair Francis
2019-06-28 15:52   ` Alistair Francis [this message]
2019-06-27 20:26 ` [Qemu-devel] [PATCH v5 03/28] hw/block/pflash: Simplify trace_pflash_data_read/write() Philippe Mathieu-Daudé
2019-06-28 15:54   ` Alistair Francis
2019-06-27 20:26 ` [Qemu-devel] [PATCH v5 04/28] hw/block/pflash_cfi02: Fix debug format string Philippe Mathieu-Daudé
2019-06-28 15:55   ` Alistair Francis
2019-06-27 20:26 ` [Qemu-devel] [PATCH v5 05/28] hw/block/pflash_cfi02: Add an enum to define the write cycles Philippe Mathieu-Daudé
2019-06-28 15:56   ` Alistair Francis
2019-06-27 20:26 ` [Qemu-devel] [PATCH v5 06/28] hw/block/pflash_cfi02: Add helpers to manipulate the status bits Philippe Mathieu-Daudé
2019-06-28 16:00   ` Alistair Francis
2019-06-27 20:26 ` [Qemu-devel] [PATCH v5 07/28] hw/block/pflash_cfi02: Simplify a statement using fall through Philippe Mathieu-Daudé
2019-06-28 16:01   ` Alistair Francis
2019-06-27 20:26 ` [Qemu-devel] [PATCH v5 08/28] hw/block/pflash_cfi02: Use the ldst API in pflash_write() Philippe Mathieu-Daudé
2019-06-28 16:03   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 09/28] hw/block/pflash_cfi02: Use the ldst API in pflash_read() Philippe Mathieu-Daudé
2019-06-28 16:03   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 10/28] hw/block/pflash_cfi02: Extract the pflash_data_read() function Philippe Mathieu-Daudé
2019-06-28 16:17   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 11/28] hw/block/pflash_cfi02: Unify the MemoryRegionOps Philippe Mathieu-Daudé
2019-06-28 16:25   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 12/28] hw/block/pflash_cfi02: Fix command address comparison Philippe Mathieu-Daudé
2019-06-28 16:28   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 13/28] tests/pflash-cfi02: Refactor to support testing multiple configurations Philippe Mathieu-Daudé
2019-06-28 16:41   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 14/28] hw/block/pflash_cfi02: Remove pointless local variable Philippe Mathieu-Daudé
2019-06-28 16:32   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 15/28] hw/block/pflash_cfi02: Document the current CFI values Philippe Mathieu-Daudé
2019-06-28 16:33   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 16/28] hw/block/pflash_cfi02: Hold the PRI table offset in a variable Philippe Mathieu-Daudé
2019-06-28 16:34   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 17/28] hw/block/pflash_cfi02: Document 'Page Mode' operations are not supported Philippe Mathieu-Daudé
2019-06-28 16:35   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 18/28] hw/block/pflash_cfi02: Implement nonuniform sector sizes Philippe Mathieu-Daudé
2019-06-28 17:28   ` Philippe Mathieu-Daudé
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 19/28] hw/block/pflash_cfi02: Extract pflash_regions_count() Philippe Mathieu-Daudé
2019-06-28 16:43   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 20/28] hw/block/pflash_cfi02: Split if() condition Philippe Mathieu-Daudé
2019-06-28 23:06   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 21/28] hw/block/pflash_cfi02: Fix CFI in autoselect mode Philippe Mathieu-Daudé
2019-06-28 23:08   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 22/28] hw/block/pflash_cfi02: Fix reset command not ignored during erase Philippe Mathieu-Daudé
2019-06-28 23:11   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 23/28] hw/block/pflash_cfi02: Implement multi-sector erase Philippe Mathieu-Daudé
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 24/28] hw/block/pflash_cfi02: Implement erase suspend/resume Philippe Mathieu-Daudé
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 25/28] hw/block/pflash_cfi02: Use chip erase time specified in the CFI table Philippe Mathieu-Daudé
2019-06-28 23:12   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 26/28] hw/block/pflash_cfi02: Reduce single byte/word write delay Philippe Mathieu-Daudé
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 27/28] hw/block/pflash_cfi02: Document commands Philippe Mathieu-Daudé
2019-06-28 23:13   ` Alistair Francis
2019-06-27 20:27 ` [Qemu-devel] [PATCH v5 28/28] hw/block/pflash_cfi02: Reduce I/O accesses to 16-bit Philippe Mathieu-Daudé
2019-06-28 23:13   ` Alistair Francis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKmqyKPDKbHW+bH-sHefHJ3A_wpXNOyP2BoFRTtAMrr61yt6SA@mail.gmail.com \
    --to=alistair23@gmail.com \
    --cc=alex.bennee@linaro.org \
    --cc=alistair@alistair23.me \
    --cc=antonynpavlov@gmail.com \
    --cc=armbru@redhat.com \
    --cc=aurelien@aurel32.net \
    --cc=david@gibson.dropbear.id.au \
    --cc=edgar.iglesias@gmail.com \
    --cc=jan.kiszka@web.de \
    --cc=jsnow@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=magnus.damm@gmail.com \
    --cc=michael@walle.cc \
    --cc=mreitz@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=stephen.checkoway@oberlin.edu \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).