qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/9] arm: Wire up GICv2 virt support on A15/A7 boards
@ 2018-08-21 13:28 Peter Maydell
  2018-08-21 13:28 ` [Qemu-devel] [PATCH 1/9] hw/intc/arm_gic: Document QEMU interface Peter Maydell
                   ` (8 more replies)
  0 siblings, 9 replies; 20+ messages in thread
From: Peter Maydell @ 2018-08-21 13:28 UTC (permalink / raw)
  To: qemu-arm, qemu-devel; +Cc: patches, Luc Michel

This patchset wires up the GICv2 virtualization support
on all our Cortex-A15 and Cortex-A7 boards.

These boards fall into various categories:
 * virt: already done in master
 * highbank, imx6, imx7: the CPU is configured to always
   have EL3, so we unconditionally allow EL2 to be enabled too
   and just need to wire up the GIC VIRQ/VFIQ lines
 * raspi2: has a non-standard interrupt controller, not a GIC,
   so we enable EL2 but there's no wiring to be done
 * vexpress-a15: is configurable to have EL3 or not; we add
   extra configuration so the user can add EL2 or not, using
   a machine property "virtualization", paralleling the
   existing "secure" property.

In all cases, most of the handling of mapping extra register
ranges into the address space and wiring up the maintenance
irq is dealt with by the a15mpcore container object.

Adding EL2 support has the potential to confuse older guests,
because it will mean that we'll boot into Hyp mode by default
if we're booting the kernel non-secure. But the Linux kernel
booting specification has required that for a long time now.

I had to fix one issue with an oversized memory region in
the GIC; there's also a documentation-comment patch in there
which records some stuff I had to figure out in trying to
map the right memory regions in the right places.

None of this code actually does anything (except provide a
property that doesn't do anything on vexpress-a15) until we
actually set the ARM_FEATURE_EL2 bit for A15 and A7.

thanks
-- PMM


Peter Maydell (9):
  hw/intc/arm_gic: Document QEMU interface
  hw/intc/arm_gic: Make per-cpu GICH memory regions 0x200 bytes large
  hw/arm/vexpress: Connect VIRQ and VFIQ
  hw/arm/highbank: Connect VIRQ and VFIQ
  hw/arm/fsl-imx6ul: Connect VIRQ and VFIQ
  hw/arm/fsl-imx6ul: Connect VIRQ and VFIQ
  hw/cpu/a15mpcore: If CPU has EL2, enable it on the GIC and wire it up
  hw/arm/vexpress: Don't set info->secure_boot if CPU doesn't have EL3
  hw/arm/vexpress: Add "virtualization" property controlling presence of
    EL2

 include/hw/intc/arm_gic.h | 35 +++++++++++++++++++++
 hw/arm/fsl-imx6ul.c       |  4 +++
 hw/arm/fsl-imx7.c         |  4 +++
 hw/arm/highbank.c         |  6 ++++
 hw/arm/vexpress.c         | 64 ++++++++++++++++++++++++++++++++++++---
 hw/cpu/a15mpcore.c        | 31 +++++++++++++++++--
 hw/intc/arm_gic.c         |  2 +-
 7 files changed, 137 insertions(+), 9 deletions(-)

-- 
2.18.0

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2018-08-23 10:16 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-21 13:28 [Qemu-devel] [PATCH 0/9] arm: Wire up GICv2 virt support on A15/A7 boards Peter Maydell
2018-08-21 13:28 ` [Qemu-devel] [PATCH 1/9] hw/intc/arm_gic: Document QEMU interface Peter Maydell
2018-08-22  8:15   ` Luc Michel
2018-08-23 10:15     ` Peter Maydell
2018-08-21 13:28 ` [Qemu-devel] [PATCH 2/9] hw/intc/arm_gic: Make per-cpu GICH memory regions 0x200 bytes large Peter Maydell
2018-08-22  8:17   ` Luc Michel
2018-08-21 13:28 ` [Qemu-devel] [PATCH 3/9] hw/arm/vexpress: Connect VIRQ and VFIQ Peter Maydell
2018-08-22  8:26   ` Luc Michel
2018-08-21 13:28 ` [Qemu-devel] [PATCH 4/9] hw/arm/highbank: " Peter Maydell
2018-08-22  8:26   ` Luc Michel
2018-08-21 13:28 ` [Qemu-devel] [PATCH 5/9] hw/arm/fsl-imx6ul: " Peter Maydell
2018-08-22  8:26   ` Luc Michel
2018-08-21 13:28 ` [Qemu-devel] [PATCH 6/9] " Peter Maydell
2018-08-22  8:26   ` Luc Michel
2018-08-21 13:28 ` [Qemu-devel] [PATCH 7/9] hw/cpu/a15mpcore: If CPU has EL2, enable it on the GIC and wire it up Peter Maydell
2018-08-22  8:27   ` Luc Michel
2018-08-21 13:28 ` [Qemu-devel] [PATCH 8/9] hw/arm/vexpress: Don't set info->secure_boot if CPU doesn't have EL3 Peter Maydell
2018-08-22  8:27   ` Luc Michel
2018-08-21 13:28 ` [Qemu-devel] [PATCH 9/9] hw/arm/vexpress: Add "virtualization" property controlling presence of EL2 Peter Maydell
2018-08-22  8:27   ` Luc Michel

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).