qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm@nongnu.org, qemu-devel@nongnu.org, patches@linaro.org
Subject: Re: [Qemu-devel] [PATCH 19/19] mps2-an505: New board model: MPS2 with AN505 Cortex-M33 FPGA image
Date: Wed, 21 Feb 2018 11:30:12 +0100	[thread overview]
Message-ID: <20180221113012.2ee836fb@redhat.com> (raw)
In-Reply-To: <20180220180325.29818-20-peter.maydell@linaro.org>

On Tue, 20 Feb 2018 18:03:25 +0000
Peter Maydell <peter.maydell@linaro.org> wrote:

> Define a new board model for the MPS2 with an AN505 FPGA image
> containing a Cortex-M33. Since the FPGA images for TrustZone
> cores (AN505, and the similar AN519 for Cortex-M23) have a
> significantly different layout of devices to the non-TrustZone
> images, we use a new source file rather than shoehorning them
> into the existing mps2.c.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  hw/arm/Makefile.objs |   1 +
>  hw/arm/mps2-tz.c     | 504 +++++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 505 insertions(+)
>  create mode 100644 hw/arm/mps2-tz.c
> 
> diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
> index 79cd30bb92..232258160a 100644
> --- a/hw/arm/Makefile.objs
> +++ b/hw/arm/Makefile.objs
> @@ -19,5 +19,6 @@ obj-$(CONFIG_FSL_IMX31) += fsl-imx31.o kzm.o
>  obj-$(CONFIG_FSL_IMX6) += fsl-imx6.o sabrelite.o
>  obj-$(CONFIG_ASPEED_SOC) += aspeed_soc.o aspeed.o
>  obj-$(CONFIG_MPS2) += mps2.o
> +obj-$(CONFIG_MPS2) += mps2-tz.o
>  obj-$(CONFIG_MSF2) += msf2-soc.o msf2-som.o
>  obj-$(CONFIG_IOTKIT) += iotkit.o
> diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c
> new file mode 100644
> index 0000000000..ff414c649c
> --- /dev/null
> +++ b/hw/arm/mps2-tz.c
> @@ -0,0 +1,504 @@
> +/*
> + * ARM V2M MPS2 board emulation, trustzone aware FPGA images
> + *
> + * Copyright (c) 2017 Linaro Limited
> + * Written by Peter Maydell
> + *
> + *  This program is free software; you can redistribute it and/or modify
> + *  it under the terms of the GNU General Public License version 2 or
> + *  (at your option) any later version.
> + */
> +
> +/* The MPS2 and MPS2+ dev boards are FPGA based (the 2+ has a bigger
> + * FPGA but is otherwise the same as the 2). Since the CPU itself
> + * and most of the devices are in the FPGA, the details of the board
> + * as seen by the guest depend significantly on the FPGA image.
> + * This source file covers the following FPGA images, for TrustZone cores:
> + *  "mps2-an505" -- Cortex-M33 as documented in ARM Application Note AN505
> + *
> + * Links to the TRM for the board itself and to the various Application
> + * Notes which document the FPGA images can be found here:
> + * https://developer.arm.com/products/system-design/development-boards/fpga-prototyping-boards/mps2
> + *
> + * Board TRM:
> + * http://infocenter.arm.com/help/topic/com.arm.doc.100112_0200_06_en/versatile_express_cortex_m_prototyping_systems_v2m_mps2_and_v2m_mps2plus_technical_reference_100112_0200_06_en.pdf
> + * Application Note AN505:
> + * http://infocenter.arm.com/help/topic/com.arm.doc.dai0505b/index.html
> + *
> + * The AN505 defers to the Cortex-M33 processor ARMv8M IoT Kit FVP User Guide
> + * (ARM ECM0601256) for the details of some of the device layout:
> + *   http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ecm0601256/index.html
> + */
> +
> +#include "qemu/osdep.h"
> +#include "qapi/error.h"
> +#include "qemu/error-report.h"
> +#include "hw/arm/arm.h"
> +#include "hw/arm/armv7m.h"
> +#include "hw/or-irq.h"
> +#include "hw/boards.h"
> +#include "exec/address-spaces.h"
> +#include "sysemu/sysemu.h"
> +#include "hw/misc/unimp.h"
> +#include "hw/char/cmsdk-apb-uart.h"
> +#include "hw/timer/cmsdk-apb-timer.h"
> +#include "hw/misc/mps2-scc.h"
> +#include "hw/misc/mps2-fpgaio.h"
> +#include "hw/arm/iotkit.h"
> +#include "hw/devices.h"
> +#include "net/net.h"
> +#include "hw/core/split-irq.h"
> +
> +typedef enum MPS2TZFPGAType {
> +    FPGA_AN505,
> +} MPS2TZFPGAType;
> +
> +typedef struct {
> +    MachineClass parent;
> +    MPS2TZFPGAType fpga_type;
> +    const char *cpu_model;
I don't see it used in this patch, should it be removed?


> +    uint32_t scc_id;
> +} MPS2TZMachineClass;
> +
[...]

  reply	other threads:[~2018-02-21 10:30 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-20 18:03 [Qemu-devel] [PATCH 00/19] Add Cortex-M33 and mps2-an505 board model Peter Maydell
2018-02-20 18:03 ` [Qemu-devel] [PATCH 01/19] loader: Add new load_ramdisk_as() Peter Maydell
2018-02-24  4:40   ` Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 02/19] hw/arm/boot: Honour CPU's address space for image loads Peter Maydell
2018-02-24  4:56   ` Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 03/19] hw/arm/armv7m: " Peter Maydell
2018-02-24  5:08   ` Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 04/19] target/arm: Define an IDAU interface Peter Maydell
2018-02-27 19:32   ` Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 05/19] armv7m: Forward idau property to CPU object Peter Maydell
2018-02-27 19:53   ` Richard Henderson
2018-03-01 16:00   ` [Qemu-devel] [Qemu-arm] " Peter Maydell
2018-02-20 18:03 ` [Qemu-devel] [PATCH 06/19] target/arm: Define init-svtor property for the reset secure VTOR value Peter Maydell
2018-02-27 20:18   ` Richard Henderson
2018-03-01 12:40     ` Peter Maydell
2018-02-20 18:03 ` [Qemu-devel] [PATCH 07/19] armv7m: Forward init-svtor property to CPU object Peter Maydell
2018-02-27 20:26   ` Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 08/19] target/arm: Add Cortex-M33 Peter Maydell
2018-02-27 20:47   ` Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 09/19] hw/misc/unimp: Move struct to header file Peter Maydell
2018-02-20 18:27   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-02-27 20:50   ` [Qemu-devel] " Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 10/19] include/hw/or-irq.h: Add missing include guard Peter Maydell
2018-02-20 18:25   ` Philippe Mathieu-Daudé
2018-02-27 20:51   ` Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 11/19] qdev: Add new qdev_init_gpio_in_named_with_opaque() Peter Maydell
2018-02-20 18:26   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-02-27 20:52   ` [Qemu-devel] " Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 12/19] hw/core/split-irq: Device that splits IRQ lines Peter Maydell
2018-02-27 20:58   ` Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 13/19] hw/misc/mps2-fpgaio: FPGA control block for MPS2 AN505 Peter Maydell
2018-02-27 21:11   ` Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 14/19] hw/misc/tz-ppc: Model TrustZone peripheral protection controller Peter Maydell
2018-02-27 21:36   ` Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 15/19] hw/misc/iotkit-secctl: Arm IoT Kit security controller initial skeleton Peter Maydell
2018-02-27 21:44   ` Richard Henderson
2018-03-01 12:44     ` Peter Maydell
2018-02-20 18:03 ` [Qemu-devel] [PATCH 16/19] hw/misc/iotkit-secctl: Add handling for PPCs Peter Maydell
2018-02-27 21:54   ` Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 17/19] hw/misc/iotkit-secctl: Add remaining simple registers Peter Maydell
2018-02-27 22:00   ` Richard Henderson
2018-03-01 12:47     ` Peter Maydell
2018-02-20 18:03 ` [Qemu-devel] [PATCH 18/19] hw/arm/iotkit: Model Arm IOT Kit Peter Maydell
2018-02-27 22:49   ` Richard Henderson
2018-02-20 18:03 ` [Qemu-devel] [PATCH 19/19] mps2-an505: New board model: MPS2 with AN505 Cortex-M33 FPGA image Peter Maydell
2018-02-21 10:30   ` Igor Mammedov [this message]
2018-03-01 12:50     ` Peter Maydell
2018-02-27 22:50   ` Richard Henderson
2018-02-22 19:03 ` [Qemu-devel] [PATCH 00/19] Add Cortex-M33 and mps2-an505 board model no-reply
2018-02-22 19:11   ` Peter Maydell
2018-02-22 21:55     ` Eric Blake
2018-02-24  6:19 ` 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=20180221113012.2ee836fb@redhat.com \
    --to=imammedo@redhat.com \
    --cc=patches@linaro.org \
    --cc=peter.maydell@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).