qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: qemu-devel@nongnu.org, qemu-s390x@nongnu.org,
	qemu-arm@nongnu.org, qemu-ppc@nongnu.org,
	Laurent Vivier <laurent@vivier.eu>
Subject: Re: [Qemu-devel] [PATCH v3 00/25] generalize parsing of cpu_model (part 4)
Date: Tue, 6 Feb 2018 20:32:13 -0200	[thread overview]
Message-ID: <20180206223213.GG13301@localhost.localdomain> (raw)
In-Reply-To: <1516694904-64879-1-git-send-email-imammedo@redhat.com>

I will try to summarize my comments here:

* I suggest squashing patches 2-22 together.  This way we
  shouldn't have any intermediate commits where "make check"
  generates warnings, and the series is shorter.
  * Or, even better: squash the CPU_RESOLVING_TYPE parts of 3-22
    into one patch, and the tests/machine-none-test.c parts of
    3-22 into patch 2.

* The linux-user/main.c hunk of patch 03/25 looks unnecessary.

* I suggest testing all CPU models in patch 02/25, but this
  shouldn't block the series.  Can be a follow-up patch.

All the rest looks good to me.

Thanks!


On Tue, Jan 23, 2018 at 09:07:59AM +0100, Igor Mammedov wrote:
> 
> v3:
>   - use qtest_startf() instead of qtest_start()
>   - rename tests/machine-none.c to tests/machine-none-test.c
>   - introduce first CPU_RESOLVING_TYPE for all targets and
>     only then use it parse_cpu_model() 
>   - stop abusing  mc->default_cpu_type as resolving cpu type,
>     move cpu_parse_cpu_model() in to exec.c and embed in
>     CPU_RESOLVING_TYPE, so that callers won't have to know
>     about unnecessary detail
> 
> v2:
>   - implemented new approach only for x86/ARM (will be done for all targets
>     if approach seems acceptable)
>   - add test case for '-M none -cpu FOO' case
>   - redefine TARGET_DEFAULT_CPU_TYPE into CPU_RESOLVING_TYPE
>   - scrape off default cpu_model refactoring, so it would cause
>     less conflicts with Laurent's series where he tries to rework
>     defaults to use ELF hints of executed program
> 
> Series is finishing work on generalizing cpu_model parsing
> and limiting parts that deal with inconsistent cpu_model
> naming to "-cpu" CLI option in vl.c, bsd|linux-user/main.c
> CLI and default cpu_model processing and FOO_cpu_class_by_name()
> callbacks.
> 
> It introduces CPU_RESOLVING_TYPE which must be defined
> by each target and is used by helper parse_cpu_model()
> (former cpu_parse_cpu_model()) to get access to target
> specific FOO_cpu_class_by_name() callback.
> 
> git tree for testing:
>    https://github.com/imammedo/qemu.git cpu_init_removal_v3
> 
> CC: Laurent Vivier <laurent@vivier.eu>
> CC: Eduardo Habkost <ehabkost@redhat.com>
> CC: qemu-s390x@nongnu.org
> CC: qemu-ppc@nongnu.org
> CC: qemu-arm@nongnu.org
> 
> Igor Mammedov (25):
>   nios2: 10m50_devboard: replace cpu_model with cpu_type
>   tests: add machine 'none' with -cpu test
>   arm: cpu: add CPU_RESOLVING_TYPE macro
>   x86: cpu: add CPU_RESOLVING_TYPE macro
>   alpha: cpu: add CPU_RESOLVING_TYPE macro
>   cris: cpu: add CPU_RESOLVING_TYPE macro
>   lm32: cpu: add CPU_RESOLVING_TYPE macro
>   m68k: cpu: add CPU_RESOLVING_TYPE macro
>   microblaze: cpu: add CPU_RESOLVING_TYPE macro
>   mips: cpu: add CPU_RESOLVING_TYPE macro
>   moxie: cpu: add CPU_RESOLVING_TYPE macro
>   nios2: cpu: add CPU_RESOLVING_TYPE macro
>   openrisc: cpu: add CPU_RESOLVING_TYPE macro
>   ppc: cpu: add CPU_RESOLVING_TYPE macro
>   s390x: cpu: add CPU_RESOLVING_TYPE macro
>   sh4: cpu: add CPU_RESOLVING_TYPE macro
>   sparc: cpu: add CPU_RESOLVING_TYPE macro
>   tricore: cpu: add CPU_RESOLVING_TYPE macro
>   unicore32: cpu: add CPU_RESOLVING_TYPE macro
>   xtensa: cpu: add CPU_RESOLVING_TYPE macro
>   hppa: cpu: add CPU_RESOLVING_TYPE macro
>   tilegx: cpu: add CPU_RESOLVING_TYPE macro
>   Use cpu_create(type) instead of cpu_init(cpu_model)
>   cpu: get rid of unused cpu_init() defines
>   cpu: get rid of cpu_generic_init()
> 
>  include/qom/cpu.h         | 16 +-------
>  target/alpha/cpu.h        |  3 +-
>  target/arm/cpu.h          |  3 +-
>  target/cris/cpu.h         |  3 +-
>  target/hppa/cpu.h         |  2 +-
>  target/i386/cpu.h         |  3 +-
>  target/lm32/cpu.h         |  3 +-
>  target/m68k/cpu.h         |  3 +-
>  target/microblaze/cpu.h   |  2 +-
>  target/mips/cpu.h         |  3 +-
>  target/moxie/cpu.h        |  3 +-
>  target/nios2/cpu.h        |  2 +-
>  target/openrisc/cpu.h     |  3 +-
>  target/ppc/cpu.h          |  3 +-
>  target/s390x/cpu.h        |  3 +-
>  target/sh4/cpu.h          |  3 +-
>  target/sparc/cpu.h        |  5 +--
>  target/tilegx/cpu.h       |  2 +-
>  target/tricore/cpu.h      |  3 +-
>  target/unicore32/cpu.h    |  3 +-
>  target/xtensa/cpu.h       |  3 +-
>  bsd-user/main.c           |  4 +-
>  exec.c                    | 23 +++++++++++
>  hw/core/null-machine.c    |  6 +--
>  hw/nios2/10m50_devboard.c |  2 +-
>  linux-user/main.c         | 10 +++--
>  qom/cpu.c                 | 48 +----------------------
>  tests/Makefile.include    |  2 +
>  tests/machine-none-test.c | 97 +++++++++++++++++++++++++++++++++++++++++++++++
>  vl.c                      | 10 ++---
>  30 files changed, 162 insertions(+), 114 deletions(-)
>  create mode 100644 tests/machine-none-test.c
> 
> -- 
> 2.7.4
> 
> 

-- 
Eduardo

  parent reply	other threads:[~2018-02-06 22:32 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-23  8:07 [Qemu-devel] [PATCH v3 00/25] generalize parsing of cpu_model (part 4) Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 01/25] nios2: 10m50_devboard: replace cpu_model with cpu_type Igor Mammedov
2018-02-06 22:09   ` Eduardo Habkost
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 02/25] tests: add machine 'none' with -cpu test Igor Mammedov
2018-02-06 22:13   ` Eduardo Habkost
2018-02-06 22:21   ` Eduardo Habkost
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 03/25] arm: cpu: add CPU_RESOLVING_TYPE macro Igor Mammedov
2018-01-23  9:45   ` Andrew Jones
2018-01-23  9:51   ` [Qemu-devel] [PATCH v4 " Igor Mammedov
2018-02-06 22:18   ` [Qemu-devel] [PATCH v3 " Eduardo Habkost
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 04/25] x86: " Igor Mammedov
2018-01-23  9:52   ` [Qemu-devel] [PATCH v4 " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 05/25] alpha: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 06/25] cris: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 07/25] lm32: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 08/25] m68k: " Igor Mammedov
2018-01-24 12:58   ` Laurent Vivier
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 09/25] microblaze: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 10/25] mips: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 11/25] moxie: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 12/25] nios2: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 13/25] openrisc: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 14/25] ppc: " Igor Mammedov
2018-01-23 11:14   ` David Gibson
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 15/25] s390x: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 16/25] sh4: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 17/25] sparc: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 18/25] tricore: " Igor Mammedov
2018-01-23 14:05   ` Bastian Koppelmann
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 19/25] unicore32: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 20/25] xtensa: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 21/25] hppa: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 22/25] tilegx: " Igor Mammedov
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 23/25] Use cpu_create(type) instead of cpu_init(cpu_model) Igor Mammedov
2018-02-05 17:08   ` [Qemu-devel] [PATCH v4 " Igor Mammedov
2018-02-06 22:25     ` Eduardo Habkost
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 24/25] cpu: get rid of unused cpu_init() defines Igor Mammedov
2018-01-23 11:15   ` David Gibson
2018-02-06 22:26   ` Eduardo Habkost
2018-01-23  8:08 ` [Qemu-devel] [PATCH v3 25/25] cpu: get rid of cpu_generic_init() Igor Mammedov
2018-02-05 17:09   ` Igor Mammedov
2018-02-06 22:32 ` Eduardo Habkost [this message]
2018-02-07  8:52   ` [Qemu-devel] [PATCH v3 00/25] generalize parsing of cpu_model (part 4) Igor Mammedov
2018-02-07 12:00     ` Eduardo Habkost

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=20180206223213.GG13301@localhost.localdomain \
    --to=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=laurent@vivier.eu \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=qemu-s390x@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).