[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH v2 00/24] generalize parsing of cpu_model (part 3/PPC)
From: |
Igor Mammedov |
Subject: |
[Qemu-ppc] [PATCH v2 00/24] generalize parsing of cpu_model (part 3/PPC) |
Date: |
Mon, 9 Oct 2017 21:50:47 +0200 |
Changelog:
- v2:
* rebase on dgibson/ppc-for-2.11 tree
* fix typo: s/pvn_chip_core_typename/pnv_chip_core_typename/
* fix typo: s/pvn_core_cpu_typename/pnv_core_cpu_typename/
* limit setting default cpu type to 'host' type only for spapr machine
* split out ppc_cpu_lookup_alias() movement into separate patch
* fix rebase conflict: add newly added power9_v2 core
* set "max-cpu-compat" property only if it exists,
in practice it should limit 'compat' hack to spapr
and allow to avoid including machine/spapr headers
in target/ppc/cpu.c
* do compat= parsing only if machine."max-cpu-compat" exists
that would match what current code practically does.
* add newline before ppc_cpu_parse_featurestr() definition
* pickup Acked-by/Reviewed-by where it's appropriate
this series is continuation of effort to remove boards dependency on
cpu_model parsing and generalizing default cpu type handling.
For background story look at merged:
[PATCH v2 0/5] generalize parsing of cpu_model (x86/arm)
https://lists.gnu.org/archive/html/qemu-devel/2017-09/msg03564.html
Part 3 is independent subset that takes care of all PPC boards.
Series borrows the 1st 3 patches from earlier posted part 2
qom: update doc comment for type_register[_static]()
qom: introduce type_register_static_array()
qom: add helper macro DEFINE_TYPES()
to avoid interdependency, hopefully this 3 will be merged via machine-next,
but it's fine for them to go via any tree (whichever first)
Beside of switching to generic cpu_model parsing series contains a bunch
of cleanups/simplifications which reduces code a bit and normalizes
code that I've happend to touch to a typical QEMU patterns.
git tree for testing:
https://github.com/imammedo/qemu/branches cpu_init_removal_ppc_part3_v2
Refference to v1:
https://lists.gnu.org/archive/html/qemu-devel/2017-10/msg01087.html
CC: Alexander Graf <address@hidden> (supporter:ppce500)
CC: David Gibson <address@hidden> (maintainer:PowerPC)
CC: "Hervé Poussineau" <address@hidden> (maintainer:PReP)
CC: "Edgar E. Iglesias" <address@hidden> (odd fixer:virtex_ml507)
CC: address@hidden (open list:ppce500)
Igor Mammedov (24):
qom: update doc comment for type_register[_static]()
qom: introduce type_register_static_array()
qom: add helper macro DEFINE_TYPES()
ppc: mpc8544ds/e500plat: use generic cpu_model parsing
ppc: mac_newworld: use generic cpu_model parsing
ppc: mac_oldworld: use generic cpu_model parsing
ppc: bamboo: use generic cpu_model parsing
ppc: replace cpu_model with cpu_type on ref405ep,taihu boards
ppc: virtex-ml507: replace cpu_model with cpu_type
ppc: 40p/prep: replace cpu_model with cpu_type
ppc: spapr: replace ppc_cpu_parse_features() with
cpu_parse_cpu_model()
ppc: move '-cpu foo,compat=xxx' parsing into
ppc_cpu_parse_featurestr()
ppc: spapr: define core types statically
ppc: spapr: use cpu type name directly
ppc: spapr: register 'host' core type along with the rest of core
types
ppc: spapr: use cpu model names as tcg defaults instead of aliases
ppc: move ppc_cpu_lookup_alias() before its first user
ppc: spapr: use generic cpu_model parsing
ppc: pnv: use generic cpu_model parsing
ppc: pnv: normalize core/chip type names
ppc: pnv: drop PnvCoreClass::cpu_oc field
ppc: pnv: define core types statically
ppc: pnv: drop PnvChipClass::cpu_model field
ppc: pnv: consolidate type definitions and batch register them
include/hw/ppc/pnv.h | 12 +--
include/hw/ppc/pnv_core.h | 4 +-
include/hw/ppc/ppc.h | 2 -
include/hw/ppc/spapr.h | 2 -
include/hw/ppc/spapr_cpu_core.h | 7 +-
include/qom/object.h | 50 ++++++++++-
target/ppc/cpu-qom.h | 1 +
target/ppc/cpu.h | 1 -
hw/ppc/e500.c | 8 +-
hw/ppc/e500plat.c | 1 +
hw/ppc/mac_newworld.c | 15 ++--
hw/ppc/mac_oldworld.c | 6 +-
hw/ppc/mpc8544ds.c | 2 +
hw/ppc/pnv.c | 131 ++++++++++++----------------
hw/ppc/pnv_core.c | 67 +++++++--------
hw/ppc/ppc.c | 25 ------
hw/ppc/ppc405_uc.c | 6 +-
hw/ppc/ppc440_bamboo.c | 7 +-
hw/ppc/ppc4xx_devs.c | 4 +-
hw/ppc/prep.c | 12 +--
hw/ppc/spapr.c | 22 ++---
hw/ppc/spapr_cpu_core.c | 184 ++++++++++------------------------------
hw/ppc/virtex_ml507.c | 11 +--
qom/object.c | 9 ++
target/ppc/kvm.c | 22 ++---
target/ppc/translate_init.c | 69 +++++++++++++--
26 files changed, 305 insertions(+), 375 deletions(-)
--
2.7.4
- [Qemu-ppc] [PATCH v2 00/24] generalize parsing of cpu_model (part 3/PPC),
Igor Mammedov <=
- [Qemu-ppc] [PATCH v2 01/24] qom: update doc comment for type_register[_static](), Igor Mammedov, 2017/10/09
- [Qemu-ppc] [PATCH v2 03/24] qom: add helper macro DEFINE_TYPES(), Igor Mammedov, 2017/10/09
- [Qemu-ppc] [PATCH v2 04/24] ppc: mpc8544ds/e500plat: use generic cpu_model parsing, Igor Mammedov, 2017/10/09
- [Qemu-ppc] [PATCH v2 02/24] qom: introduce type_register_static_array(), Igor Mammedov, 2017/10/09
- [Qemu-ppc] [PATCH v2 05/24] ppc: mac_newworld: use generic cpu_model parsing, Igor Mammedov, 2017/10/09
- [Qemu-ppc] [PATCH v2 06/24] ppc: mac_oldworld: use generic cpu_model parsing, Igor Mammedov, 2017/10/09
- [Qemu-ppc] [PATCH v2 08/24] ppc: replace cpu_model with cpu_type on ref405ep, taihu boards, Igor Mammedov, 2017/10/09
- [Qemu-ppc] [PATCH v2 07/24] ppc: bamboo: use generic cpu_model parsing, Igor Mammedov, 2017/10/09
- [Qemu-ppc] [PATCH v2 10/24] ppc: 40p/prep: replace cpu_model with cpu_type, Igor Mammedov, 2017/10/09
- [Qemu-ppc] [PATCH v2 11/24] ppc: spapr: replace ppc_cpu_parse_features() with cpu_parse_cpu_model(), Igor Mammedov, 2017/10/09