qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Blue Swirl <blauwirbel@gmail.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Machine description as data prototype, take 4 (was: [RFC] Machine description as data)
Date: Tue, 24 Feb 2009 22:06:08 +0200	[thread overview]
Message-ID: <f43fc5580902241206v52acfb99y6706c35b6ffe366d@mail.gmail.com> (raw)
In-Reply-To: <87hc2lhw46.fsf@pike.pond.sub.org>

On 2/23/09, Markus Armbruster <armbru@redhat.com> wrote:
> Fourth iteration of the prototype.  I'm not asking to consider a merge
>  at this time.

>  +static dt_prop_spec dt_cpus_props[] = {
>  +    DT_PROP_SPEC_INIT("model", dt_device_cpus, model, string),
>  +    DT_PROP_SPEC_INIT("num", dt_device_cpus, num, int),
>  +};

Please use "const".

>  +static void dt_memrng_rom(dt_device_memrng *rng,
>  +                          target_phys_addr_t phys_addr, ram_addr_t maxsz,
>  +                          const char *dir, const char *image, int top)
>  +{
>  +    char buf[1024];
>  +    int size;
>  +
>  +    snprintf(buf, sizeof(buf), "%s/%s", dir, image);
>  +    size = get_image_size(buf);
>  +    if (size < 0 || size > maxsz)
>  +        goto error;
>  +    if (top)
>  +        phys_addr = phys_addr + maxsz - size;
>  +    dt_memrng(rng, phys_addr, size, qemu_ram_alloc(size), IO_MEM_ROM);
>  +    if (load_image(buf, phys_ram_base + rng->host_offs) != size)
>  +        goto error;
>  +    return;
>  +
>  +error:
>  +    fprintf(stderr, "qemu: could not load image '%s'\n", buf);
>  +    exit(1);
>  +}

If this is going to be the generic ROM loader, it should also handle
ELF format images. But for the PC this is enough.

>  +static dt_prop_spec dt_memory_props[] = {
>  +    DT_PROP_SPEC_INIT("ram", dt_device_memory, ram_size, ram_addr_t),
>  +};

"const"

>  +static dt_prop_spec dt_pc_misc_props[] = {
>  +    DT_PROP_SPEC_INIT("boot-device", dt_device_pc_misc, boot_device,
>  +                      string),
>  +};

"const"

>  +static dt_driver_vga dt_driver_vga_table[] = {
>  +    { "cirrus", VGABIOS_CIRRUS_FILENAME, pci_cirrus_vga_init },
>  +    { "vms", VGABIOS_FILENAME, pci_vmsvga_init_ },
>  +    { "std", VGABIOS_FILENAME, pci_vga_init_ },
>  +    { NULL, NULL, NULL }
>  +};

"const"

>  +static dt_prop_spec dt_vga_props[] = {
>  +    DT_PROP_SPEC_INIT("model", dt_device_vga, model, string),
>  +    DT_PROP_SPEC_INIT("ram", dt_device_vga, ram_size, ram_addr_t),
>  +};

"const"

>  +static dt_prop_spec dt_nic_props[] = {
>  +    DT_PROP_SPEC_INIT("model", dt_device_nic, nd.model, string),
>  +    DT_PROP_SPEC_INIT("mac", dt_device_nic, nd.macaddr, macaddr),
>  +    DT_PROP_SPEC_INIT("name", dt_device_nic, nd.name, string),
>  +};

"const"

>  +static dt_driver dt_driver_table[] = {
>  +    { "", 0, NULL, NULL },
>  +    { "cpus", sizeof(dt_device_cpus), dt_cpus_props,
>  +      NULL, dt_cpus_init, NULL },
>  +    { "memory", sizeof(dt_device_memory), dt_memory_props,
>  +      dt_memory_config, dt_memory_init, NULL },
>  +    { "pc-misc", sizeof(dt_device_pc_misc), dt_pc_misc_props,
>  +      dt_pc_misc_config, dt_pc_misc_init, dt_pc_misc_start },
>  +    { "pci", sizeof(dt_device_pci), NULL,
>  +      dt_pci_config, dt_pci_init, dt_pci_start },
>  +    { "piix3", sizeof(dt_device_piix3), NULL,
>  +      dt_piix3_config, dt_piix3_init, NULL },
>  +    { "vga", sizeof(dt_device_vga), dt_vga_props,
>  +      dt_vga_config, dt_vga_init, NULL },
>  +    { "nic", sizeof(dt_device_nic), dt_nic_props,
>  +      dt_nic_config, dt_nic_init, NULL },
>  +    { NULL, 0, NULL, NULL, NULL }
>  +};

"const"

>   void register_machines(void)
>   {
>  +    extern QEMUMachine pcdt_machine;

Put this into hw/boards.h.

>  +tree *tree_new_kid(tree *parent, const char *name, void *user)

The OF term for "kid" is "child".

>  +tree *tree_sibling(const tree *node)

Here the OF word is "peer".

  reply	other threads:[~2009-02-24 20:06 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-11 15:40 [Qemu-devel] [RFC] Machine description as data Markus Armbruster
2009-02-11 16:31 ` Ian Jackson
2009-02-11 17:43   ` Markus Armbruster
2009-02-11 18:57   ` Hollis Blanchard
2009-02-12  3:50     ` David Gibson
2009-02-11 18:50 ` Hollis Blanchard
2009-02-11 19:34   ` Blue Swirl
2009-02-12  4:01   ` David Gibson
2009-02-12 10:26     ` Markus Armbruster
2009-02-12 12:49       ` Carl-Daniel Hailfinger
2009-02-12 16:46         ` M. Warner Losh
2009-02-12 18:29           ` Markus Armbruster
2009-02-12 23:58             ` Carl-Daniel Hailfinger
2009-02-13 11:19               ` Markus Armbruster
2009-02-13  1:05             ` David Gibson
2009-02-12 23:35           ` Carl-Daniel Hailfinger
2009-02-12 23:58             ` Paul Brook
2009-02-13  0:32               ` Carl-Daniel Hailfinger
2009-02-13  0:47                 ` Jamie Lokier
2009-02-13  1:46                 ` David Gibson
2009-02-13 14:32                 ` Lennart Sorensen
2009-02-13  0:05             ` M. Warner Losh
2009-02-12 17:52       ` Hollis Blanchard
2009-02-12 18:53         ` Markus Armbruster
2009-02-12 19:33           ` Mitch Bradley
2009-02-13  0:59             ` David Gibson
2009-02-13  1:00         ` David Gibson
2009-02-13  0:43       ` David Gibson
2009-02-13  2:11         ` Carl-Daniel Hailfinger
2009-02-13  2:17           ` David Gibson
2009-02-13  2:45             ` DTS syntax and DTC patches (was: Re: [Qemu-devel] [RFC] Machine description as data) Carl-Daniel Hailfinger
2009-02-13  2:51               ` David Gibson
2009-02-13 20:04           ` [Qemu-devel] [RFC] Machine description as data Jon Loeliger
2009-02-13 20:15             ` Carl-Daniel Hailfinger
2009-02-13 20:19               ` Jon Loeliger
2009-02-12 10:26   ` Markus Armbruster
2009-02-12 12:36     ` Carl-Daniel Hailfinger
2009-02-12 16:07     ` Paul Brook
2009-02-12 17:17       ` Blue Swirl
2009-02-12 18:09       ` Marcelo Tosatti
2009-02-13  0:37     ` David Gibson
2009-02-13 11:26       ` Markus Armbruster
2009-02-13 12:06         ` Paul Brook
2009-02-13 12:48           ` Markus Armbruster
2009-02-13 13:33             ` Paul Brook
2009-02-13 14:13               ` Markus Armbruster
2009-02-13 14:25                 ` Paul Brook
2009-02-13 15:47                   ` Jamie Lokier
2009-02-13 18:36                 ` Mitch Bradley
2009-02-13 19:49                   ` Markus Armbruster
2009-02-13 19:51                     ` Mitch Bradley
2009-02-16  3:42         ` David Gibson
2009-02-16 16:39           ` Markus Armbruster
2009-02-17  3:29             ` David Gibson
2009-02-17  7:54               ` Markus Armbruster
2009-02-17 17:44               ` Paul Brook
2009-02-18  8:36                 ` Markus Armbruster
2009-02-11 19:01 ` Anthony Liguori
2009-02-11 19:36   ` Blue Swirl
2009-02-11 19:56     ` Anthony Liguori
2009-02-12 10:25       ` Markus Armbruster
2009-02-16 16:22 ` [Qemu-devel] Machine description as data prototype, take 2 (was: [RFC] Machine description as data) Markus Armbruster
2009-02-17 17:32   ` Paul Brook
2009-02-18  8:42     ` [Qemu-devel] Machine description as data prototype, take 2 Markus Armbruster
2009-02-19 10:29 ` [Qemu-devel] Machine description as data prototype, take 3 (was: [RFC] Machine description as data) Markus Armbruster
2009-02-19 13:53   ` Paul Brook
2009-02-19 14:55     ` [Qemu-devel] Machine description as data prototype, take 3 Markus Armbruster
2009-02-19 15:03       ` Paul Brook
2009-02-19 14:36   ` Anthony Liguori
2009-02-19 15:00     ` Markus Armbruster
2009-02-19 14:49   ` Anthony Liguori
2009-02-23 17:38     ` Markus Armbruster
2009-02-23 18:58       ` Anthony Liguori
2009-02-24  9:08         ` Markus Armbruster
2009-02-19 16:40   ` [Qemu-devel] Machine description as data prototype, take 3 (was: [RFC] Machine description as data) Blue Swirl
2009-02-19 18:30     ` [Qemu-devel] Machine description as data prototype, take 3 Markus Armbruster
2009-02-20 18:14       ` Blue Swirl
2009-02-20 18:20         ` Paul Brook
2009-02-23 12:00           ` Markus Armbruster
2009-02-23 12:18         ` Markus Armbruster
2009-02-23 18:00 ` [Qemu-devel] Machine description as data prototype, take 4 (was: [RFC] Machine description as data) Markus Armbruster
2009-02-24 20:06   ` Blue Swirl [this message]
2009-02-25 12:13     ` [Qemu-devel] Machine description as data prototype, take 4 Markus Armbruster
2009-02-25 20:11       ` Blue Swirl
2009-03-03 17:46 ` [Qemu-devel] Machine description as data prototype, take 5 (was: [RFC] Machine description as data) Markus Armbruster
2009-03-12 18:43 ` [Qemu-devel] Machine description as data prototype, take 6 " Markus Armbruster
2009-03-17 16:06   ` [Qemu-devel] Machine description as data prototype, take 6 Paul Brook
2009-03-17 17:32     ` Markus Armbruster
2009-03-23 15:50 ` [Qemu-devel] Re: [RFC] Machine description as data Markus Armbruster
2009-03-23 15:53   ` Markus Armbruster
2009-03-31  9:16 ` Markus Armbruster
2009-04-17 16:04 ` Markus Armbruster

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=f43fc5580902241206v52acfb99y6706c35b6ffe366d@mail.gmail.com \
    --to=blauwirbel@gmail.com \
    --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 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).