qemu-ppc
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]