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
next prev 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).