qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: P J P <ppandit@redhat.com>, Peter Maydell <peter.maydell@linaro.org>
Cc: "Li Qiang" <liq3ea@gmail.com>,
	"QEMU Developers" <qemu-devel@nongnu.org>,
	"Lei Sun" <slei.casper@gmail.com>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"David Gibson" <david@gibson.dropbear.id.au>
Subject: Re: [PATCH v2 5/9] nvram: add nrf51_soc flash read method
Date: Tue, 21 Jul 2020 10:33:55 +0200	[thread overview]
Message-ID: <03c8f705-9e6c-9369-c547-eb09ede77fc1@redhat.com> (raw)
In-Reply-To: <nycvar.YSQ.7.78.906.2007211212380.4380@xnncv>

On 7/21/20 8:47 AM, P J P wrote:
> +-- On Thu, 16 Jul 2020, Peter Maydell wrote --+
> | > P J P <ppandit@redhat.com> ���2020���6���25��������� ������3:01���������
> | > > +static uint64_t flash_read(void *opaque, hwaddr offset, unsigned size)
> | > > +{
> | > > +    NRF51NVMState *s = NRF51_NVM(opaque);
> | > > +
> | > > +    assert(offset + size <= s->flash_size);
> | > > +    return ldl_le_p(s->storage + offset);
> | > > +}
> | >
> | > The 'flash_ops' is for ROM, though I don't see where it calls 
> | > 'memory_region_rom_device_set_romd' to ROMD, so this MR is in MMIO mode 
> | > and it needs a read callback.
> | 
> | I think that 'romd mode' (ie reads-go-directly-to-RAM) is the default: 
> | memory_region_initfn() sets romd_mode to true. So unless the device actively 
> | calls memory_region_rom_device_set_romd(mr, false) then the read callback 
> | can't be reached.
> 
> So, we go with g_assert_not_reached() ? We seem to have differing opinions 
> about these callbacks.

- Callback missing because we neglected to implement the
  hardware behavior:

  => qemu_log_mask(LOG_UNIMP, ...)

- Callback missing because the access is illegal on hardware
  (write on read-only register, read on write-only register):

  => qemu_log_mask(LOG_GUEST_ERROR, ...)

- Impossible situation unrelated to the hardware/guest behavior
  (problem in QEMU design)

  => g_assert_not_reached()


Note, when we runs QEMU with LOG_UNIMP/LOG_GUEST_ERROR enabled,
we are usually interested in what address the guest is accessing,
and in the write case, what value is written.

> 
> Thank you.
> --
> Prasad J Pandit / Red Hat Product Security Team
> 8685 545E B54C 486B C6EB 271E E285 8B5A F050 DE8D
> 



  reply	other threads:[~2020-07-21  8:35 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-24 18:55 [PATCH v2 0/9] memory: assert and define MemoryRegionOps callbacks P J P
2020-06-24 18:55 ` [PATCH v2 1/9] hw/pci-host: add pci-intack write method P J P
2020-06-29  9:20   ` Li Qiang
2020-06-24 18:55 ` [PATCH v2 2/9] pci-host: add pcie-msi read method P J P
2020-06-29  9:30   ` Li Qiang
2020-06-24 18:55 ` [PATCH v2 3/9] vfio: add quirk device write method P J P
2020-06-29  9:36   ` Li Qiang
2020-06-24 18:55 ` [PATCH v2 4/9] prep: add ppc-parity " P J P
2020-06-25  1:40   ` David Gibson
2020-06-25  6:24   ` Philippe Mathieu-Daudé
2020-06-29 11:22   ` Li Qiang
2020-07-21  8:24     ` Philippe Mathieu-Daudé
2020-06-24 18:55 ` [PATCH v2 5/9] nvram: add nrf51_soc flash read method P J P
2020-06-29 11:17   ` Li Qiang
2020-06-29 11:55     ` P J P
2020-06-29 15:32       ` Paolo Bonzini
2020-06-29 16:05         ` Li Qiang
2020-06-29 15:31     ` Paolo Bonzini
2020-07-16 16:27     ` Peter Maydell
2020-07-21  6:47       ` P J P
2020-07-21  8:33         ` Philippe Mathieu-Daudé [this message]
2020-07-21  9:48           ` P J P
2020-06-24 18:55 ` [PATCH v2 6/9] spapr_pci: add spapr msi " P J P
2020-06-25  1:41   ` David Gibson
2020-06-29  9:55     ` Li Qiang
2020-06-24 18:55 ` [PATCH v2 7/9] tz-ppc: add dummy read/write methods P J P
2020-06-25  6:29   ` Philippe Mathieu-Daudé
2020-06-25  9:18     ` P J P
2020-06-25 10:21       ` Philippe Mathieu-Daudé
2020-06-25 11:24         ` P J P
2020-06-29 15:33         ` Paolo Bonzini
2020-06-25 12:22       ` Peter Maydell
2020-06-29 10:44         ` Li Qiang
2020-06-29 11:48           ` P J P
2020-06-24 18:55 ` [PATCH v2 8/9] imx7-ccm: add digprog mmio write method P J P
2020-06-29 10:47   ` Li Qiang
2020-06-24 18:55 ` [PATCH v2 9/9] memory: assert MemoryRegionOps callbacks are defined P J P
2020-06-29 11:28   ` Li Qiang
2020-06-24 21:35 ` [PATCH v2 0/9] memory: assert and define MemoryRegionOps callbacks 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=03c8f705-9e6c-9369-c547-eb09ede77fc1@redhat.com \
    --to=philmd@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=alex.williamson@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=liq3ea@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=ppandit@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=slei.casper@gmail.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).