[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH v2 00/24] generalize parsing of cpu_model (part 3/
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH v2 00/24] generalize parsing of cpu_model (part 3/PPC) |
Date: |
Tue, 10 Oct 2017 13:21:37 +1100 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Mon, Oct 09, 2017 at 09:50:47PM +0200, Igor Mammedov wrote:
Applied to ppc-for-2.11. There was a small error in 19/24, which
reverted pnv to defaulting to POWER9 v1.0 whereas I've recently
changed it to v2.0. Rather than requiring a respin I adjusted that
myself, and fixed the minor conflicts in the subsequent patches.
> 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(-)
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- [Qemu-ppc] [PATCH v2 18/24] fixup! ppc: spapr: use generic cpu_model parsing, (continued)
[Qemu-ppc] [PATCH v2 20/24] ppc: pnv: normalize core/chip type names, Igor Mammedov, 2017/10/09
[Qemu-ppc] [PATCH v2 22/24] ppc: pnv: define core types statically, Igor Mammedov, 2017/10/09
[Qemu-ppc] [PATCH v2 21/24] ppc: pnv: drop PnvCoreClass::cpu_oc field, Igor Mammedov, 2017/10/09
[Qemu-ppc] [PATCH v2 24/24] ppc: pnv: consolidate type definitions and batch register them, Igor Mammedov, 2017/10/09
[Qemu-ppc] [PATCH v2 23/24] ppc: pnv: drop PnvChipClass::cpu_model field, Igor Mammedov, 2017/10/09
Re: [Qemu-ppc] [PATCH v2 00/24] generalize parsing of cpu_model (part 3/PPC),
David Gibson <=