All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Brook <paul@codesourcery.com>
To: qemu-devel@nongnu.org
Cc: Peter Crosthwaite <peter.crosthwaite@petalogix.com>,
	peter.maydell@linaro.org, aliguori@us.ibm.com,
	Alexander Graf <agraf@suse.de>
Subject: Re: [Qemu-devel] [RFC PATCH] arm boot: added QOM device definition
Date: Thu, 9 Feb 2012 12:03:45 +0000	[thread overview]
Message-ID: <201202091203.46171.paul@codesourcery.com> (raw)
In-Reply-To: <CAEgOgz76hOoTiA3xz5J9UJjUBbf5g-cM=o7pnXvUcCXuKY60Mw@mail.gmail.com>

>     /* multicore boards that use the default secondary core boot functions
>      * can ignore these two function calls. If the default functions won't
>      * work, then write_secondary_boot() should write a suitable blob of
>      * code mimicing the secondary CPU startup process used by the board's
>      * boot loader/boot ROM code, and secondary_cpu_reset_hook() should
>      * perform any necessary CPU reset handling and set the PC for thei
>      * secondary CPUs to point at this boot blob.
>      */
>     void (*write_secondary_boot)(CPUState *env,
>                                  const struct arm_boot_info *info);
>     void (*secondary_cpu_reset_hook)(CPUState *env,
>                                      const struct arm_boot_info *info);
> };
> 
> The addresses, ints and string are easy, but the hard ones are the
> callbacks. The qdev ptr is a possible implementation but I see a movement
> away from that. I guess the solution is to provide an abstraction through
> QOM no? The boards that need to implement their own secondary
> boot-loop/reset (theres only 1) or atag boot sequence (again only 1) create
> an object that inherits for the arm boot device and instantiate that?

This sounds like an ideal use-case for derived classes and virtual functions.

Paul

  reply	other threads:[~2012-02-09 12:04 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-08  7:55 [Qemu-devel] [RFC PATCH] arm boot: added QOM device definition Peter A. G. Crosthwaite
2012-02-08  9:06 ` Paul Brook
2012-02-08 10:11   ` Peter Crosthwaite
2012-02-08 10:44     ` Paul Brook
2012-02-08 11:10       ` Peter Crosthwaite
2012-02-08 11:39         ` Paul Brook
2012-02-08 11:59           ` Peter Crosthwaite
2012-02-08 12:27             ` Paul Brook
2012-02-08 12:41               ` Alexander Graf
2012-02-08 13:04                 ` Peter Crosthwaite
2012-02-08 13:10                   ` Alexander Graf
2012-02-08 13:30                     ` Peter Crosthwaite
2012-02-08 13:35                       ` Alexander Graf
2012-02-08 14:05                         ` Peter Crosthwaite
2012-02-08 14:17                           ` Alexander Graf
2012-02-08 14:20                           ` Paul Brook
2012-02-08 14:39                             ` Peter Crosthwaite
2012-02-08 14:56                               ` Paul Brook
2012-02-08 15:14                                 ` Peter Crosthwaite
2012-02-08 15:57                                   ` Paul Brook
2012-02-08 16:03                                     ` Peter Crosthwaite
2012-02-08 16:15                                       ` Paul Brook
2012-02-08 16:35                                         ` Anthony Liguori
2012-02-09  1:22                                           ` Peter Crosthwaite
2012-02-09 12:03                                             ` Paul Brook [this message]
2012-02-08 16:20                                       ` Anthony Liguori
2012-02-08 13:47                 ` Anthony Liguori
2012-02-20 19:43                   ` Peter Maydell
2012-02-20 19:51                     ` Andreas Färber
2012-02-20 19:56                       ` Peter Maydell
2012-02-21  9:15                         ` Peter Crosthwaite
2012-02-21 10:20                           ` Peter Maydell
2012-02-08 13:41 ` Anthony Liguori
2012-02-09 13:22 ` Andreas Färber
2012-02-10  2:11   ` Peter Crosthwaite

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=201202091203.46171.paul@codesourcery.com \
    --to=paul@codesourcery.com \
    --cc=agraf@suse.de \
    --cc=aliguori@us.ibm.com \
    --cc=peter.crosthwaite@petalogix.com \
    --cc=peter.maydell@linaro.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.