[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/23] SMP support for MPC8544DS
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PATCH 00/23] SMP support for MPC8544DS |
Date: |
Thu, 21 Jul 2011 03:27:11 +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 when disabling the DEC trick in ppc_spin.c - something seems to
be broken in KVM there.
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.
Alexander Graf (23):
PPC: Add secondary CPU spinning code
PPC: Move openpic to target specific code compilation
PPC: Add CPU definitions for up to 32 guest CPUs
PPC: Add CPU local MMIO regions to MPIC
PPC: Extend MPIC MMIO range
PPC: Fix IPI support in MPIC
PPC: Remove cINT code from MPIC
PPC: Bump MPIC up to 32 supported CPUs
PPC: E500: create multiple envs
PPC: E500: Generate IRQ lines for many CPUs
PPC: E500: Use spin code for secondary 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: Update cpu-release-addr property in cpu nodes
PPC: E500: Bump CPU count to 32
Makefile.objs | 1 -
Makefile.target | 2 +
device_tree.c | 11 ++
device_tree.h | 1 +
hw/openpic.c | 148 ++++++++++------
hw/ppc440_bamboo.c | 16 ++-
hw/ppce500_mpc8544ds.c | 159 +++++++++---------
pc-bios/mpc8544ds.dtb | Bin 2277 -> 9699 bytes
pc-bios/mpc8544ds.dts | 437 ++++++++++++++++++++++++++++++++++++++++++++++++
pc-bios/ppc_spin.c | 97 +++++++++++
pc-bios/ppc_spin.elf | Bin 0 -> 66553 bytes
target-ppc/kvm.c | 65 +++++++
target-ppc/kvm_ppc.c | 65 -------
target-ppc/kvm_ppc.h | 39 +++--
14 files changed, 823 insertions(+), 218 deletions(-)
create mode 100644 pc-bios/ppc_spin.c
create mode 100755 pc-bios/ppc_spin.elf