[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCHv2 0/7] Better handling of machine specific per-cpu inf
From: |
David Gibson |
Subject: |
[Qemu-ppc] [PATCHv2 0/7] Better handling of machine specific per-cpu information |
Date: |
Thu, 14 Jun 2018 11:04:39 +1000 |
It's moderately common for a machine type to need to keep track of
information that is specific to the platform it implements, but
per-cpu.
While it could keep such information inside the MachineState, this
makes lookup from the CPUState awkward. So, this series adds a
standard way to stash machine-specific per-cpu information using a
void pointer in the PowerPCCPU object. The machine is responsible for
alloc()ing, free()ing and (if applicable) migrating this state.
The meat of the series is the last two patches. The first 5 clean up
a number of minor uglies I encountered while implementing.
Changes since v1:
* Simplify the error handling cleanup in 2/7 to use &error_abort
instead of more propagations
David Gibson (7):
spapr: Clean up cpu realize/unrealize paths
pnv: Fix some error handling cpu realize()
pnv_core: Allocate cpu thread objects individually
pnv: Clean up cpu realize path
pnv: Add cpu unrealize path
target/ppc: Replace intc pointer with a general machine_data pointer
target/ppc, spapr: Move VPA information to machine_data
hw/intc/xics.c | 5 +-
hw/intc/xics_spapr.c | 16 +++--
hw/ppc/pnv.c | 8 +--
hw/ppc/pnv_core.c | 100 ++++++++++++++++++--------------
hw/ppc/spapr.c | 8 +--
hw/ppc/spapr_cpu_core.c | 85 +++++++++++++--------------
hw/ppc/spapr_hcall.c | 77 +++++++++++++-----------
include/hw/ppc/pnv_core.h | 11 +++-
include/hw/ppc/spapr_cpu_core.h | 13 +++++
include/hw/ppc/xics.h | 4 +-
target/ppc/cpu.h | 8 +--
target/ppc/translate_init.inc.c | 8 ---
12 files changed, 185 insertions(+), 158 deletions(-)
--
2.17.1
- [Qemu-ppc] [PATCHv2 0/7] Better handling of machine specific per-cpu information,
David Gibson <=
- [Qemu-ppc] [PATCHv2 1/7] spapr: Clean up cpu realize/unrealize paths, David Gibson, 2018/06/13
- [Qemu-ppc] [PATCHv2 3/7] pnv_core: Allocate cpu thread objects individually, David Gibson, 2018/06/13
- [Qemu-ppc] [PATCHv2 2/7] pnv: Fix some error handling cpu realize(), David Gibson, 2018/06/13
- [Qemu-ppc] [PATCHv2 4/7] pnv: Clean up cpu realize path, David Gibson, 2018/06/13
- [Qemu-ppc] [PATCHv2 5/7] pnv: Add cpu unrealize path, David Gibson, 2018/06/13
- [Qemu-ppc] [PATCHv2 7/7] target/ppc, spapr: Move VPA information to machine_data, David Gibson, 2018/06/13
- [Qemu-ppc] [PATCHv2 6/7] target/ppc: Replace intc pointer with a general machine_data pointer, David Gibson, 2018/06/13
- Re: [Qemu-ppc] [PATCHv2 0/7] BROKEN, SORRY: Better handling of machine specific per-cpu information, David Gibson, 2018/06/13