qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH RFC V4 0/4] Implement GIC-500 from GICv3 family for arm64
@ 2015-09-17 17:38 Shlomo Pongratz
  2015-09-17 17:38 ` [Qemu-devel] [PATCH RFC V4 1/4] hw/intc: Implement GIC-500 support files Shlomo Pongratz
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: Shlomo Pongratz @ 2015-09-17 17:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: peter.maydell, eric.auger, Shlomo Pongratz, p.fedin, shannon.zhao,
	ashoks, imammedo

From: Shlomo Pongratz <shlomo.pongratz@huawei.com>

This patch is a first step toward 128 cores support for arm64.

At first only 64 cores are supported.
This is because largest integer type has the size of 64 bits and modifying
essential data structures in order to support 128 cores will require
the usage of bitops.

Things left to do:

Support SPI, note that this patch porpose is to enable running 64 cores using
the "virt" virtual machine.

Add support for 128 cores. This requires the usage
of bitops which requires a major rewrite.

Special thanks to Peter Crostwaite whose patch to th Linux (kernel) i.e.
Implement cpu_relax as yield solved the problem of the boot process getting
stuck for 24 cores and more.

V3->V4:
  - Rebase the patch series on Pavel Feding's "vGICv3 support" V14 patch series.
  - Replace the usage of vnic/irqchip in the CPU structure to keep the gic
    object for the system instructions with the usage of the routine
    define_arm_cp_regs_with_opaque() as suggested by Peter Maydell in his mail
    from August the 3rd. 

V2->V3:
  - Replace my original 1 & 4 patches with Pavel's patches.
  - Add groups support to complies with new GICv2 addtions
  - Cosmetic changes.

V1->V2:
  - Split the original patch to 4 patches
  - Add SRE API to the GIC code.
  - Add call to gicv3_update to armv8_gicv3_set_priority_mask.
  - Cosmetic changes.
  - Fix number of irq when reading GICD_TYPER.


Pavel Fedin (1):
  Add virt-v3 machine that uses GIC-500

Shlomo Pongratz (3):
  hw/intc: Implement GIC-500 support files
  hw/intc: Implment GIC-500
  target-arm/cpu64 GICv3 system instructions support

 hw/arm/virt.c                      |   72 +-
 hw/intc/Makefile.objs              |    1 +
 hw/intc/arm_gicv3.c                | 2044 ++++++++++++++++++++++++++++++++++++
 hw/intc/arm_gicv3_common.c         |  120 ++-
 hw/intc/gicv3_internal.h           |  161 +++
 include/hw/arm/fdt.h               |    2 +
 include/hw/arm/virt.h              |    1 +
 include/hw/intc/arm_gicv3.h        |   44 +
 include/hw/intc/arm_gicv3_common.h |   56 +-
 target-arm/cpu-qom.h               |    1 +
 target-arm/cpu.h                   |   12 +
 target-arm/cpu64.c                 |  118 +++
 target-arm/machine.c               |    7 +-
 13 files changed, 2627 insertions(+), 12 deletions(-)
 create mode 100644 hw/intc/arm_gicv3.c
 create mode 100644 hw/intc/gicv3_internal.h
 create mode 100644 include/hw/intc/arm_gicv3.h

-- 
1.9.1

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

end of thread, other threads:[~2015-09-28 15:20 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-17 17:38 [Qemu-devel] [PATCH RFC V4 0/4] Implement GIC-500 from GICv3 family for arm64 Shlomo Pongratz
2015-09-17 17:38 ` [Qemu-devel] [PATCH RFC V4 1/4] hw/intc: Implement GIC-500 support files Shlomo Pongratz
2015-09-17 17:38 ` [Qemu-devel] [PATCH RFC V4 2/4] hw/intc: Implment GIC-500 Shlomo Pongratz
2015-09-17 17:38 ` [Qemu-devel] [PATCH RFC V4 3/4] target-arm/cpu64 GICv3 system instructions support Shlomo Pongratz
2015-09-17 17:38 ` [Qemu-devel] [PATCH RFC V4 4/4] Add virt-v3 machine that uses GIC-500 Shlomo Pongratz
2015-09-24 18:03   ` Christopher Covington
2015-09-24 19:16     ` Christopher Covington
2015-09-28 15:20       ` Shlomo Pongratz
2015-09-17 17:52 ` [Qemu-devel] [PATCH RFC V4 0/4] Implement GIC-500 from GICv3 family for arm64 Peter Maydell
2015-09-17 18:18   ` Shlomo Pongratz
2015-09-17 18:33     ` Peter Maydell
2015-09-17 18:54       ` Shlomo Pongratz
2015-09-17 19:03         ` Peter Maydell
2015-09-24  9:55         ` Pavel Fedin

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