qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/28] SMP support for MPC8544DS
@ 2011-07-23 10:49 Alexander Graf
  2011-07-23 10:49 ` [Qemu-devel] [PATCH 01/28] PPC: Move openpic to target specific code compilation Alexander Graf
                   ` (27 more replies)
  0 siblings, 28 replies; 34+ messages in thread
From: Alexander Graf @ 2011-07-23 10:49 UTC (permalink / raw)
  To: QEMU-devel Developers; +Cc: Scott Wood, Elie Richa

Due to popular demand, I got involved in the dirty arts of SMP
programming :). This patch set adds support for the MPC8544DS board
(e500v2) to run with up to 32 virtual CPUs.

This works fine with emulation and Linux guests. It also works with
KVM.

For non-Linux guests, TLB invalidation broadcasting is still missing,
but for now this is enough to get Linux up and running.

I've used the chance while touching the code to also clean up ugly
code that just diverged over time between the 3 KVM capable PPC
targets (frequency device-tree entries). They're intertwined with
this series, but I hope not too hard to understand, so they don't
hurt being there.

v1 -> v2:

  - MPIC: Use MAX_IPI instead of hardcoded 4
  - MPIC: Max cpus is 15 due to cINT routing
  - MPIC: Drop cINT patch
  - MPIC: Report nb_cpus not MAX_CPUS in MPIC capabilities
  - MPIC: Add cINT patch to fix CINT dispatch
  - Clockfreq: enable 64bit clockfreq values
  - Spin: New MMIO based device
  - Spin: map the secondary NIP instead of 0 1:1
  - Spin: only map 64MB for TLB, same as u-boot
  - Spin: prepare code for 64-bit spinnings
  - MPC8544: Generate CPU nodes on demand, not ahead of time

Alexander Graf (28):
  PPC: Move openpic to target specific code compilation
  PPC: Add CPU local MMIO regions to MPIC
  PPC: Extend MPIC MMIO range
  PPC: Fix IPI support in MPIC
  PPC: Set MPIC IDE for IPI to 0
  PPC: MPIC: Remove read functionality for WO registers
  PPC: MPIC: Fix CI bit definitions
  PPC: Bump MPIC up to 32 supported CPUs
  PPC: E500: create multiple envs
  PPC: E500: Generate IRQ lines for many CPUs
  device tree: add nop_node
  PPC: bamboo: Move host fdt copy to target
  PPC: KVM: Add generic function to read host clockfreq
  PPC: E500: Use generic kvm function for freq
  PPC: E500: Remove mpc8544_copy_soc_cell
  PPC: bamboo: Use kvm api for freq and clock frequencies
  PPC: KVM: Remove kvmppc_read_host_property
  PPC: KVM: Add stubs for kvm helper functions
  PPC: E500: Update freqs for all CPUs
  PPC: E500: Remove unneeded CPU nodes
  PPC: E500: Add PV spinning code
  PPC: E500: Update cpu-release-addr property in cpu nodes
  device tree: add add_subnode command
  device tree: dont fail operations
  device tree: give dt more size
  MPC8544DS: Remove CPU nodes
  MPC8544DS: Generate CPU nodes on init
  PPC: E500: Bump CPU count to 15

 Makefile.objs          |    1 -
 Makefile.target        |    4 +-
 device_tree.c          |   92 +++++++++++++++++++----
 device_tree.h          |    2 +
 hw/openpic.c           |  160 +++++++++++++++++++++++++---------------
 hw/ppc440_bamboo.c     |   16 ++++-
 hw/ppce500_mpc8544ds.c |  191 ++++++++++++++++++++++++++++--------------------
 hw/ppce500_spin.c      |  182 +++++++++++++++++++++++++++++++++++++++++++++
 pc-bios/mpc8544ds.dtb  |  Bin 2277 -> 2028 bytes
 pc-bios/mpc8544ds.dts  |   12 ---
 target-ppc/kvm.c       |   67 +++++++++++++++++
 target-ppc/kvm_ppc.c   |   65 ----------------
 target-ppc/kvm_ppc.h   |   39 +++++++---
 13 files changed, 584 insertions(+), 247 deletions(-)
 create mode 100644 hw/ppce500_spin.c

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

end of thread, other threads:[~2011-07-27 16:18 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-23 10:49 [Qemu-devel] [PATCH 00/28] SMP support for MPC8544DS Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 01/28] PPC: Move openpic to target specific code compilation Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 02/28] PPC: Add CPU local MMIO regions to MPIC Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 03/28] PPC: Extend MPIC MMIO range Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 04/28] PPC: Fix IPI support in MPIC Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 05/28] PPC: Set MPIC IDE for IPI to 0 Alexander Graf
2011-07-25  8:46   ` Elie Richa
2011-07-25  8:50     ` Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 06/28] PPC: MPIC: Remove read functionality for WO registers Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 07/28] PPC: MPIC: Fix CI bit definitions Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 08/28] PPC: Bump MPIC up to 32 supported CPUs Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 09/28] PPC: E500: create multiple envs Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 10/28] PPC: E500: Generate IRQ lines for many CPUs Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 11/28] device tree: add nop_node Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 12/28] PPC: bamboo: Move host fdt copy to target Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 13/28] PPC: KVM: Add generic function to read host clockfreq Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 14/28] PPC: E500: Use generic kvm function for freq Alexander Graf
2011-07-23 10:49 ` [Qemu-devel] [PATCH 15/28] PPC: E500: Remove mpc8544_copy_soc_cell Alexander Graf
2011-07-23 10:50 ` [Qemu-devel] [PATCH 16/28] PPC: bamboo: Use kvm api for freq and clock frequencies Alexander Graf
2011-07-23 10:50 ` [Qemu-devel] [PATCH 17/28] PPC: KVM: Remove kvmppc_read_host_property Alexander Graf
2011-07-23 10:50 ` [Qemu-devel] [PATCH 18/28] PPC: KVM: Add stubs for kvm helper functions Alexander Graf
2011-07-23 10:50 ` [Qemu-devel] [PATCH 19/28] PPC: E500: Update freqs for all CPUs Alexander Graf
2011-07-23 10:50 ` [Qemu-devel] [PATCH 20/28] PPC: E500: Remove unneeded CPU nodes Alexander Graf
2011-07-23 10:50 ` [Qemu-devel] [PATCH 21/28] PPC: E500: Add PV spinning code Alexander Graf
2011-07-25 20:40   ` Scott Wood
2011-07-27 13:34     ` Alexander Graf
2011-07-27 16:18       ` Scott Wood
2011-07-23 10:50 ` [Qemu-devel] [PATCH 22/28] PPC: E500: Update cpu-release-addr property in cpu nodes Alexander Graf
2011-07-23 10:50 ` [Qemu-devel] [PATCH 23/28] device tree: add add_subnode command Alexander Graf
2011-07-23 10:50 ` [Qemu-devel] [PATCH 24/28] device tree: dont fail operations Alexander Graf
2011-07-23 10:50 ` [Qemu-devel] [PATCH 25/28] device tree: give dt more size Alexander Graf
2011-07-23 10:50 ` [Qemu-devel] [PATCH 26/28] MPC8544DS: Remove CPU nodes Alexander Graf
2011-07-23 10:50 ` [Qemu-devel] [PATCH 27/28] MPC8544DS: Generate CPU nodes on init Alexander Graf
2011-07-23 10:50 ` [Qemu-devel] [PATCH 28/28] PPC: E500: Bump CPU count to 15 Alexander Graf

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