All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	qemu-arm@nongnu.org, qemu-devel@nongnu.org, patches@linaro.org
Subject: Re: [Qemu-arm] [PATCH 0/4] cpu: Implement cpu_generic_new()
Date: Mon, 26 Jun 2017 23:33:48 -0300	[thread overview]
Message-ID: <20170627023348.GU12152@localhost.localdomain> (raw)
In-Reply-To: <87a84uyj2q.fsf@linaro.org>

On Mon, Jun 26, 2017 at 02:28:13PM +0100, Alex Bennée wrote:
> 
> Peter Maydell <peter.maydell@linaro.org> writes:
> 
> > This patchset adds a new function cpu_generic_new()
> > which is similar to cpu_generic_init() except that it
> > does not realize the created CPU object. This means that
> > board code can do a "new cpu; set QOM properties; realize"
> > sequence without having to do all the work of splitting
> > the CPU model string and calling parse_features by hand.
> 
> 
> Just going through my review queue and I see this needs re-basing. Is
> there going to be another rev or was a different approach suggested?

The right way to go is not clear.  We know we want to remove duplication
of CPU creation code, but probably we should first refactor the -cpu
parsing code, so parsing happens: 1) only once; 2) earlier in main(),
preferably before machine->init() runs; 3) inside generic code instead
of arch-specific code; 4) preferably using the QemuOpts parser instead
of the current strtok()-based custom parsers.

After the parsing code mess is sorted out, writing a generic CPU
creation wrapper will probably be easier (and safer).

-- 
Eduardo

WARNING: multiple messages have this Message-ID (diff)
From: Eduardo Habkost <ehabkost@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	qemu-arm@nongnu.org, qemu-devel@nongnu.org, patches@linaro.org
Subject: Re: [Qemu-devel] [Qemu-arm] [PATCH 0/4] cpu: Implement cpu_generic_new()
Date: Mon, 26 Jun 2017 23:33:48 -0300	[thread overview]
Message-ID: <20170627023348.GU12152@localhost.localdomain> (raw)
In-Reply-To: <87a84uyj2q.fsf@linaro.org>

On Mon, Jun 26, 2017 at 02:28:13PM +0100, Alex Bennée wrote:
> 
> Peter Maydell <peter.maydell@linaro.org> writes:
> 
> > This patchset adds a new function cpu_generic_new()
> > which is similar to cpu_generic_init() except that it
> > does not realize the created CPU object. This means that
> > board code can do a "new cpu; set QOM properties; realize"
> > sequence without having to do all the work of splitting
> > the CPU model string and calling parse_features by hand.
> 
> 
> Just going through my review queue and I see this needs re-basing. Is
> there going to be another rev or was a different approach suggested?

The right way to go is not clear.  We know we want to remove duplication
of CPU creation code, but probably we should first refactor the -cpu
parsing code, so parsing happens: 1) only once; 2) earlier in main(),
preferably before machine->init() runs; 3) inside generic code instead
of arch-specific code; 4) preferably using the QemuOpts parser instead
of the current strtok()-based custom parsers.

After the parsing code mess is sorted out, writing a generic CPU
creation wrapper will probably be easier (and safer).

-- 
Eduardo

  reply	other threads:[~2017-06-27  2:33 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-13 14:28 [Qemu-arm] [PATCH 0/4] cpu: Implement cpu_generic_new() Peter Maydell
2017-02-13 14:28 ` [Qemu-devel] " Peter Maydell
2017-02-13 14:28 ` [Qemu-devel] [PATCH 1/4] cpu: add cpu_generic_new() Peter Maydell
2017-02-13 14:28   ` Peter Maydell
2017-02-21 18:35   ` [Qemu-arm] " Eduardo Habkost
2017-02-21 18:35     ` [Qemu-devel] " Eduardo Habkost
2017-02-13 14:28 ` [Qemu-arm] [PATCH 2/4] cpu: Clarify TODO comment in cpu_generic_new() Peter Maydell
2017-02-13 14:28   ` [Qemu-devel] " Peter Maydell
2017-02-13 14:28 ` [Qemu-arm] [PATCH 3/4] hw/arm/integrator: Use new cpu_generic_new() Peter Maydell
2017-02-13 14:28   ` [Qemu-devel] " Peter Maydell
2017-02-13 14:28 ` [Qemu-arm] [PATCH 4/4] hw/arm/virt: " Peter Maydell
2017-02-13 14:28   ` [Qemu-devel] " Peter Maydell
2017-02-20 19:10   ` [Qemu-arm] " Igor Mammedov
2017-02-20 19:10     ` Igor Mammedov
2017-02-21 16:09     ` [Qemu-arm] " Eduardo Habkost
2017-02-21 16:09       ` Eduardo Habkost
2017-02-16 16:40 ` [Qemu-arm] [PATCH 0/4] cpu: Implement cpu_generic_new() Peter Maydell
2017-02-16 16:40   ` [Qemu-devel] " Peter Maydell
2017-02-21 15:58   ` Eduardo Habkost
2017-02-21 15:58     ` [Qemu-devel] " Eduardo Habkost
2017-02-21 17:48     ` Peter Maydell
2017-02-21 17:48       ` [Qemu-devel] " Peter Maydell
2017-02-17 19:05 ` [Qemu-arm] [Qemu-devel] " Igor Mammedov
2017-02-17 19:05   ` Igor Mammedov
2017-02-21 16:01   ` [Qemu-arm] " Eduardo Habkost
2017-02-21 16:01     ` Eduardo Habkost
2017-06-26 13:28 ` [Qemu-arm] " Alex Bennée
2017-06-26 13:28   ` [Qemu-devel] " Alex Bennée
2017-06-27  2:33   ` Eduardo Habkost [this message]
2017-06-27  2:33     ` Eduardo Habkost
2017-06-27  8:32     ` Igor Mammedov

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=20170627023348.GU12152@localhost.localdomain \
    --to=ehabkost@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=patches@linaro.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.