[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/28] SMP support for MPC8544DS
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PATCH 00/28] SMP support for MPC8544DS |
Date: |
Sat, 23 Jul 2011 12:49:44 +0200 |
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
- [Qemu-devel] [PATCH 00/28] SMP support for MPC8544DS,
Alexander Graf <=
- [Qemu-devel] [PATCH 06/28] PPC: MPIC: Remove read functionality for WO registers, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 12/28] PPC: bamboo: Move host fdt copy to target, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 01/28] PPC: Move openpic to target specific code compilation, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 08/28] PPC: Bump MPIC up to 32 supported CPUs, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 14/28] PPC: E500: Use generic kvm function for freq, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 19/28] PPC: E500: Update freqs for all CPUs, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 09/28] PPC: E500: create multiple envs, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 13/28] PPC: KVM: Add generic function to read host clockfreq, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 26/28] MPC8544DS: Remove CPU nodes, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 21/28] PPC: E500: Add PV spinning code, Alexander Graf, 2011/07/23