qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	qemu-devel@nongnu.org, qemu-block@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 03/16] ahci: make port read traces more descriptive
Date: Wed, 30 May 2018 16:17:48 -0400	[thread overview]
Message-ID: <acfc53d7-228f-2e95-5946-f7faf0c7f2e3@redhat.com> (raw)
In-Reply-To: <91fa0944-d11d-894f-a1aa-03b1fd186f1a@amsat.org>



On 05/26/2018 12:44 AM, Philippe Mathieu-Daudé wrote:
> Hi John,
> 
> On 05/25/2018 08:54 PM, John Snow wrote:
>> A trace is added to let us watch unimplemented registers specifically,
>> as these are more likely to cause us trouble. Otherwise, the port read
>> traces now tell us what register is getting hit, which is nicer.
>>
>> Signed-off-by: John Snow <jsnow@redhat.com>
>> ---
>>  hw/ide/ahci.c       | 5 +++--
>>  hw/ide/trace-events | 3 ++-
>>  2 files changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
>> index 5187bf34ad..57c80a2fe9 100644
>> --- a/hw/ide/ahci.c
>> +++ b/hw/ide/ahci.c
>> @@ -46,7 +46,6 @@ static bool ahci_map_fis_address(AHCIDevice *ad);
>>  static void ahci_unmap_clb_address(AHCIDevice *ad);
>>  static void ahci_unmap_fis_address(AHCIDevice *ad);
>>  
>> -__attribute__((__unused__)) /* TODO */
>>  static const char *AHCIPortReg_lookup[AHCI_PORT_REG__COUNT] = {
>>      [AHCI_PORT_REG_LST_ADDR]    = "PxCLB",
>>      [AHCI_PORT_REG_LST_ADDR_HI] = "PxCLBU",
>> @@ -149,10 +148,12 @@ static uint32_t ahci_port_read(AHCIState *s, int port, int offset)
>>          val = pr->cmd_issue;
>>          break;
>>      default:
>> +        trace_ahci_port_read_unimpl(s, port, AHCIPortReg_lookup[regnum],
>> +                                    offset);
> 
> I personally prefer qemu_log_mask(LOG_UNIMP) here.
> 
> Rational is when trying firmware, one might want to know which
> unimplemented features access the firmware, without having to dig into
> trace events, and the "-d unimp" command line option just works.
> 

For reads, it's ambiguous. Some of the registers we've specifically not
implemented because if they are unsupported they are supposed to return
0, which we do here. The default behavior is generally correct.

In this case, the trace really is just kind of an informative /
debugging statement we probably aren't too interested in unless we're
diagnosing some AHCI problem specifically -- and I don't want to turn on
all unimp messages to see these.

> (same apply for the write() function later in this series).
> 

For writes it's actually definitely unhandled and I might actually
prefer both the trace and the log -- if we support "-d unimp" on the
command line to hunt for known stubs getting probed, this is certainly
one of those places we want to know about.

--js

  reply	other threads:[~2018-05-30 20:18 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-25 23:54 [Qemu-devel] [PATCH 00/16] AHCI: tracing improvements John Snow
2018-05-25 23:54 ` [Qemu-devel] [PATCH 01/16] ahci: add port register enumeration John Snow
2018-05-25 23:54 ` [Qemu-devel] [PATCH 02/16] ahci: modify ahci_port_read to use register numbers John Snow
2018-05-25 23:54 ` [Qemu-devel] [PATCH 03/16] ahci: make port read traces more descriptive John Snow
2018-05-26  4:44   ` Philippe Mathieu-Daudé
2018-05-30 20:17     ` John Snow [this message]
2018-05-30 21:28       ` Philippe Mathieu-Daudé
2018-05-31 16:25         ` John Snow
2018-05-25 23:54 ` [Qemu-devel] [PATCH 04/16] ahci: fix spacing damage on ahci_port_write John Snow
2018-05-25 23:54 ` [Qemu-devel] [PATCH 05/16] ahci: combine identical clauses in port write John Snow
2018-05-25 23:54 ` [Qemu-devel] [PATCH 06/16] ahci: modify ahci_port_write to use register numbers John Snow
2018-05-25 23:55 ` [Qemu-devel] [PATCH 07/16] ahci: make port write traces more descriptive John Snow
2018-05-25 23:55 ` [Qemu-devel] [PATCH 08/16] ahci: delete old port register address definitions John Snow
2018-05-25 23:55 ` [Qemu-devel] [PATCH 09/16] ahci: add host register enumeration John Snow
2018-05-25 23:55 ` [Qemu-devel] [PATCH 10/16] ahci: fix host register max address John Snow
2018-05-25 23:55 ` [Qemu-devel] [PATCH 11/16] ahci: modify ahci_mem_read_32 to work on register numbers John Snow
2018-05-25 23:55 ` [Qemu-devel] [PATCH 12/16] ahci: make mem_read_32 traces more descriptive John Snow
2018-05-25 23:55 ` [Qemu-devel] [PATCH 13/16] ahci: fix spacing damage on ahci_mem_write John Snow
2018-05-25 23:55 ` [Qemu-devel] [PATCH 14/16] ahci: adjust ahci_mem_write to work on registers John Snow
2018-05-25 23:55 ` [Qemu-devel] [PATCH 15/16] ahci: delete old host register address definitions John Snow
2018-05-25 23:55 ` [Qemu-devel] [PATCH 16/16] ahci: make ahci_mem_write traces more descriptive John Snow
2018-05-26  0:11 ` [Qemu-devel] [PATCH 00/16] AHCI: tracing improvements no-reply

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=acfc53d7-228f-2e95-5946-f7faf0c7f2e3@redhat.com \
    --to=jsnow@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /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).