qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Alexander Graf" <agraf@suse.de>,
	"David Gibson" <david@gibson.dropbear.id.au>,
	"Hervé Poussineau" <hpoussin@reactos.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	"open list:ppce500" <qemu-ppc@nongnu.org>
Subject: [Qemu-devel] [PATCH v2 00/24] generalize parsing of cpu_model (part 3/PPC)
Date: Mon,  9 Oct 2017 21:50:47 +0200	[thread overview]
Message-ID: <1507578671-158758-1-git-send-email-imammedo@redhat.com> (raw)


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 <agraf@suse.de> (supporter:ppce500)
CC: David Gibson <david@gibson.dropbear.id.au> (maintainer:PowerPC)
CC: "Hervé Poussineau" <hpoussin@reactos.org> (maintainer:PReP)
CC: "Edgar E. Iglesias" <edgar.iglesias@gmail.com> (odd fixer:virtex_ml507)
CC: qemu-ppc@nongnu.org (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	other threads:[~2017-10-09 19:51 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-09 19:50 Igor Mammedov [this message]
2017-10-09 19:50 ` [Qemu-devel] [PATCH v2 01/24] qom: update doc comment for type_register[_static]() Igor Mammedov
2017-10-09 19:50 ` [Qemu-devel] [PATCH v2 02/24] qom: introduce type_register_static_array() Igor Mammedov
2017-10-09 19:50 ` [Qemu-devel] [PATCH v2 03/24] qom: add helper macro DEFINE_TYPES() Igor Mammedov
2017-10-09 19:50 ` [Qemu-devel] [PATCH v2 04/24] ppc: mpc8544ds/e500plat: use generic cpu_model parsing Igor Mammedov
2017-10-09 19:50 ` [Qemu-devel] [PATCH v2 05/24] ppc: mac_newworld: " Igor Mammedov
2017-10-09 19:50 ` [Qemu-devel] [PATCH v2 06/24] ppc: mac_oldworld: " Igor Mammedov
2017-10-09 19:50 ` [Qemu-devel] [PATCH v2 07/24] ppc: bamboo: " Igor Mammedov
2017-10-09 19:50 ` [Qemu-devel] [PATCH v2 08/24] ppc: replace cpu_model with cpu_type on ref405ep, taihu boards Igor Mammedov
2017-10-09 19:50 ` [Qemu-devel] [PATCH v2 09/24] ppc: virtex-ml507: replace cpu_model with cpu_type Igor Mammedov
2017-10-09 19:50 ` [Qemu-devel] [PATCH v2 10/24] ppc: 40p/prep: " Igor Mammedov
2017-10-09 19:50 ` [Qemu-devel] [PATCH v2 11/24] ppc: spapr: replace ppc_cpu_parse_features() with cpu_parse_cpu_model() Igor Mammedov
2017-10-09 19:50 ` [Qemu-devel] [PATCH v2 12/24] ppc: move '-cpu foo, compat=xxx' parsing into ppc_cpu_parse_featurestr() Igor Mammedov
2017-10-10  2:02   ` David Gibson
2017-10-09 19:51 ` [Qemu-devel] [PATCH v2 13/24] ppc: spapr: define core types statically Igor Mammedov
2017-10-10  2:04   ` David Gibson
2017-10-10  7:29   ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2017-10-12 13:10     ` Greg Kurz
2017-10-12 14:58       ` Igor Mammedov
2017-10-12 15:20         ` Greg Kurz
2017-10-12 16:01           ` Igor Mammedov
2017-10-11 17:21   ` [Qemu-devel] " Philippe Mathieu-Daudé
2017-10-09 19:51 ` [Qemu-devel] [PATCH v2 14/24] ppc: spapr: use cpu type name directly Igor Mammedov
2017-10-12 15:48   ` [Qemu-devel] [PATCH v2 14/24] fixup! " Igor Mammedov
2017-10-13  7:26     ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2017-10-09 19:51 ` [Qemu-devel] [PATCH v2 15/24] ppc: spapr: register 'host' core type along with the rest of core types Igor Mammedov
2017-10-09 19:51 ` [Qemu-devel] [PATCH v2 16/24] ppc: spapr: use cpu model names as tcg defaults instead of aliases Igor Mammedov
2017-10-09 19:51 ` [Qemu-devel] [PATCH v2 17/24] ppc: move ppc_cpu_lookup_alias() before its first user Igor Mammedov
2017-10-10  2:05   ` David Gibson
2017-10-11 17:15   ` Philippe Mathieu-Daudé
2017-10-09 19:51 ` [Qemu-devel] [PATCH v2 18/24] ppc: spapr: use generic cpu_model parsing Igor Mammedov
2017-10-10  2:07   ` David Gibson
2017-10-12 15:50   ` [Qemu-devel] [PATCH v2 18/24] fixup! " Igor Mammedov
2017-10-12 22:24     ` David Gibson
2017-10-23  4:43       ` Alexey Kardashevskiy
2017-10-09 19:51 ` [Qemu-devel] [PATCH v2 19/24] ppc: pnv: " Igor Mammedov
2017-10-10  2:10   ` David Gibson
2017-10-09 19:51 ` [Qemu-devel] [PATCH v2 20/24] ppc: pnv: normalize core/chip type names Igor Mammedov
2017-10-09 19:51 ` [Qemu-devel] [PATCH v2 21/24] ppc: pnv: drop PnvCoreClass::cpu_oc field Igor Mammedov
2017-10-11 17:24   ` Philippe Mathieu-Daudé
2017-10-09 19:51 ` [Qemu-devel] [PATCH v2 22/24] ppc: pnv: define core types statically Igor Mammedov
2017-10-09 19:51 ` [Qemu-devel] [PATCH v2 23/24] ppc: pnv: drop PnvChipClass::cpu_model field Igor Mammedov
2017-10-11 17:23   ` Philippe Mathieu-Daudé
2017-10-09 19:51 ` [Qemu-devel] [PATCH v2 24/24] ppc: pnv: consolidate type definitions and batch register them Igor Mammedov
2017-10-10  2:21 ` [Qemu-devel] [PATCH v2 00/24] generalize parsing of cpu_model (part 3/PPC) David Gibson
2017-10-10 11:38   ` Igor Mammedov
2017-10-10 12:21     ` David Gibson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1507578671-158758-1-git-send-email-imammedo@redhat.com \
    --to=imammedo@redhat.com \
    --cc=agraf@suse.de \
    --cc=david@gibson.dropbear.id.au \
    --cc=edgar.iglesias@gmail.com \
    --cc=hpoussin@reactos.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).