qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-arm <qemu-arm@nongnu.org>, QEMU Developers <qemu-devel@nongnu.org>
Cc: "patches@linaro.org" <patches@linaro.org>
Subject: Re: [Qemu-devel] [Qemu-arm] [PATCH 00/16] arm: Implement MPS2 watchdogs and DMA
Date: Thu, 16 Aug 2018 19:02:02 +0100	[thread overview]
Message-ID: <CAFEAcA-AD=cxpGzgyZDU3vhCwthVaPg+WKWNLH+gjP=devvWZw@mail.gmail.com> (raw)
In-Reply-To: <20180809130115.28951-1-peter.maydell@linaro.org>

Ping for code review, please?

(It's only been a week so this is a little bit eager, but
I have some more MPS patches which wire up the PL022 SPI
controllers, which I'm holding off on posting until this
and the preceding FPGAIO set get reviewed and committed, so
as not to have too many MPS patches in flight at once.)

thanks
-- PMM

On 9 August 2018 at 14:00, Peter Maydell <peter.maydell@linaro.org> wrote:
> This patchset adds some more missing devices to the MPS2 AN505
> board model:
>
> Patches 1-3 implement and wire up the CMSDK APB watchdog devices.
>
> Patch 4 adds a CMSDK timer device that had been forgotten.
>
> Ppatches 5-6 implement and wire up the "system control element",
> which is some simple control/ID registers in the IoTKit
>
> Patches 7-16 are the meat of the patchset, and add support
> for the DMA controllers and their associated Master Security
> Controllers. A TrustZone MSC sits in front of a device which
> can be a bus master (such as a DMA controller) and allows secure
> software to configure it to either pass through or reject transactions
> made by that bus master. Rejected transactions may be configured to
> either be aborted, or to behave as RAZ/WI. An interrupt can be
> signalled for a rejected transaction. The AN505 has four
> PL081 DMA controllers, each with its own MSC.
>
> Patches 10-15 are various minor cleanups and bugfixes in
> the PL081 model that are needed for its use in the AN505.
> In particular the PL081 was previously entirely broken as
> it would hw_error() as soon as the guest enabled the DMA
> engine. I assume this was either accidentally left-in debug code,
> or a deliberate choice to guard a never-tested implementation
> so as to be able to identify when we had guest code to test it
> with. (Linux for the realview/versatile boards never tries to
> use the PL08x there for DMA.)
>
> This patchset is sufficient for the "DMA" test in the AN505
> self-test binary to pass. (I suspect it is not giving the
> PL081 or MSC a very thorough workout, though.)
>
> Based-on: <20180730162458.23186-1-peter.maydell@linaro.org>
> ("[PATCH 0/5] mps2: Implement FPGAIO counters and dual-timer")
>
> thanks
> -- PMM
>
> Peter Maydell (16):
>   hw/watchdog/cmsdk_apb_watchdog: Implement CMSDK APB watchdog module
>   nvic: Expose NMI line
>   hw/arm/iotkit: Wire up the watchdogs
>   hw/arm/iotkit: Wire up the S32KTIMER
>   hw/misc/iotkit-sysctl: Implement IoTKit system control element
>   hw/misc/iotkit: Wire up the system control element
>   hw/misc/tz-msc: Model TrustZone Master Security Controller
>   hw/misc/iotkit-secctl: Wire up registers for controlling MSCs
>   hw/arm/iotkit: Wire up the lines for MSCs
>   hw/dma/pl080: Allow use as embedded-struct device
>   hw/dma/pl080: Support all three interrupt lines
>   hw/dma/pl080: Don't use CPU address space for DMA accesses
>   hw/dma/pl080: Provide device reset function
>   hw/dma/pl080: Correct bug in register address decode logic
>   hw/dma/pl080: Remove hw_error() if DMA is enabled
>   hw/arm/mps2-tz: Create PL081s and MSCs
>
>  Makefile.objs                            |   1 +
>  hw/misc/Makefile.objs                    |   2 +
>  hw/watchdog/Makefile.objs                |   1 +
>  include/hw/arm/iotkit.h                  |  20 +-
>  include/hw/dma/pl080.h                   |  71 +++++
>  include/hw/misc/iotkit-secctl.h          |  14 +
>  include/hw/misc/iotkit-sysctl.h          |  50 ++++
>  include/hw/misc/tz-msc.h                 |  79 ++++++
>  include/hw/watchdog/cmsdk-apb-watchdog.h |  59 ++++
>  hw/arm/armv7m.c                          |   1 +
>  hw/arm/iotkit.c                          |  99 ++++++-
>  hw/arm/mps2-tz.c                         | 101 ++++++-
>  hw/arm/realview.c                        |   8 +-
>  hw/arm/versatilepb.c                     |   9 +-
>  hw/dma/pl080.c                           | 113 ++++----
>  hw/intc/armv7m_nvic.c                    |  19 ++
>  hw/misc/iotkit-secctl.c                  |  73 ++++-
>  hw/misc/iotkit-sysctl.c                  | 324 ++++++++++++++++++++++
>  hw/misc/tz-msc.c                         | 308 +++++++++++++++++++++
>  hw/watchdog/cmsdk-apb-watchdog.c         | 326 +++++++++++++++++++++++
>  MAINTAINERS                              |   7 +
>  default-configs/arm-softmmu.mak          |   3 +
>  hw/intc/trace-events                     |   1 +
>  hw/misc/trace-events                     |  16 ++
>  hw/watchdog/trace-events                 |   6 +
>  25 files changed, 1632 insertions(+), 79 deletions(-)
>  create mode 100644 include/hw/dma/pl080.h
>  create mode 100644 include/hw/misc/iotkit-sysctl.h
>  create mode 100644 include/hw/misc/tz-msc.h
>  create mode 100644 include/hw/watchdog/cmsdk-apb-watchdog.h
>  create mode 100644 hw/misc/iotkit-sysctl.c
>  create mode 100644 hw/misc/tz-msc.c
>  create mode 100644 hw/watchdog/cmsdk-apb-watchdog.c
>  create mode 100644 hw/watchdog/trace-events
>
> --
> 2.17.1

  parent reply	other threads:[~2018-08-16 18:02 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-09 13:00 [Qemu-devel] [PATCH 00/16] arm: Implement MPS2 watchdogs and DMA Peter Maydell
2018-08-09 13:01 ` [Qemu-devel] [PATCH 01/16] hw/watchdog/cmsdk_apb_watchdog: Implement CMSDK APB watchdog module Peter Maydell
2018-08-18  1:27   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-09 13:01 ` [Qemu-devel] [PATCH 02/16] nvic: Expose NMI line Peter Maydell
2018-08-10  5:05   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-09 13:01 ` [Qemu-devel] [PATCH 03/16] hw/arm/iotkit: Wire up the watchdogs Peter Maydell
2018-08-17 23:47   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-09 13:01 ` [Qemu-devel] [PATCH 04/16] hw/arm/iotkit: Wire up the S32KTIMER Peter Maydell
2018-08-17 23:49   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-09 13:01 ` [Qemu-devel] [PATCH 05/16] hw/misc/iotkit-sysctl: Implement IoTKit system control element Peter Maydell
2018-08-18  0:23   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-18 10:04     ` Peter Maydell
2018-08-18 19:54       ` Philippe Mathieu-Daudé
2018-08-09 13:01 ` [Qemu-devel] [PATCH 06/16] hw/misc/iotkit: Wire up the " Peter Maydell
2018-08-18  0:00   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-18  9:55     ` Peter Maydell
2018-08-18 15:06       ` Philippe Mathieu-Daudé
2018-08-09 13:01 ` [Qemu-devel] [PATCH 07/16] hw/misc/tz-msc: Model TrustZone Master Security Controller Peter Maydell
2018-08-18  1:15   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-09 13:01 ` [Qemu-devel] [PATCH 08/16] hw/misc/iotkit-secctl: Wire up registers for controlling MSCs Peter Maydell
2018-08-18  0:37   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-18 10:05     ` Peter Maydell
2018-08-18 15:42       ` Philippe Mathieu-Daudé
2018-08-09 13:01 ` [Qemu-devel] [PATCH 09/16] hw/arm/iotkit: Wire up the lines for MSCs Peter Maydell
2018-08-18  0:39   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-09 13:01 ` [Qemu-devel] [PATCH 10/16] hw/dma/pl080: Allow use as embedded-struct device Peter Maydell
2018-08-10  5:18   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-10  5:27     ` Philippe Mathieu-Daudé
2018-08-10  9:03       ` Peter Maydell
2018-08-09 13:01 ` [Qemu-devel] [PATCH 11/16] hw/dma/pl080: Support all three interrupt lines Peter Maydell
2018-08-18  0:43   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-09 13:01 ` [Qemu-devel] [PATCH 12/16] hw/dma/pl080: Don't use CPU address space for DMA accesses Peter Maydell
2018-08-10  5:10   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-09 13:01 ` [Qemu-devel] [PATCH 13/16] hw/dma/pl080: Provide device reset function Peter Maydell
2018-08-10  5:11   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-09 13:01 ` [Qemu-devel] [PATCH 14/16] hw/dma/pl080: Correct bug in register address decode logic Peter Maydell
2018-08-15 14:39   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-15 15:31     ` Peter Maydell
2018-08-09 13:01 ` [Qemu-devel] [PATCH 15/16] hw/dma/pl080: Remove hw_error() if DMA is enabled Peter Maydell
2018-08-10  5:12   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-09 13:01 ` [Qemu-devel] [PATCH 16/16] hw/arm/mps2-tz: Create PL081s and MSCs Peter Maydell
2018-08-18  1:09   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-08-18 10:07     ` Peter Maydell
2018-08-16 18:02 ` Peter Maydell [this message]
2018-08-18  1:29   ` [Qemu-devel] [Qemu-arm] [PATCH 00/16] arm: Implement MPS2 watchdogs and DMA Philippe Mathieu-Daudé

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='CAFEAcA-AD=cxpGzgyZDU3vhCwthVaPg+WKWNLH+gjP=devvWZw@mail.gmail.com' \
    --to=peter.maydell@linaro.org \
    --cc=patches@linaro.org \
    --cc=qemu-arm@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).