All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Machine description as data prototype, take 3
Date: Mon, 23 Feb 2009 12:58:15 -0600	[thread overview]
Message-ID: <49A2F1C7.6000801@codemonkey.ws> (raw)
In-Reply-To: <87y6vxhx3v.fsf@pike.pond.sub.org>

Markus Armbruster wrote:
> Anthony Liguori <anthony@codemonkey.ws> writes:
>
>   
>>> diff --git a/hw/dt.c b/hw/dt.c
>>> +
>>>   
>>>       
>> Please remove the ^Ls.  They don't render properly in my mail client.
>>     
>
> Many source files contain ^L already.  But I'll drop mine if you insist.
>   

My mailer (Thunderbird) expands the ^L into about 20 new lines making 
the patches difficult to review.

>>> +/* Host Configuration */
>>> +
>>> +typedef struct dt_host {
>>> +    /* connection NICs <-> VLAN */
>>> +    tree *nic[MAX_NICS];
>>> +    VLANState *nic_vlan[MAX_NICS];
>>> +    /* connection drives <-> controller */
>>> +    tree *drive_ctrl[MAX_DRIVES];
>>> +    BlockDriverState *drive_state[MAX_DRIVES];
>>> +} dt_host;
>>>
>>>   
>>>       
>> typedef struct DeviceTreeHost
>> {
>> } DeviceTreeHost.
>>     
>
> If you insist on CamelCase, IFindThatUglyAndHardToRead, but I can do
> that.  Just typedef names?
>   

Why?  Just convert to the way the rest of the code does it.  Conformity 
feels good, I promise :-)

> As to the placement of braces, a quick grep shows the vast majority of
> such typedefs to have the brace on the same line as the typedef.
>   

Yeah, that's fine.  My bracket placement was not intentional.

>> For instance, I think it would be perfectly fine to require to start
>> with that the command line configuration matches the describe machine
>> file.  For instance, if you see:
>>
>> -net tap -net nic,model=rtl8139
>>
>> Then you should search for an rtl8139 and configure the node to be on
>> vlan=0.  If an rtl8139 doesn't exist, throw an error.
>>     
>
> Conversely, when an optional tree node isn't enabled (e.g. with -net nic
> for NICs), silently cut it from the tree.
>   

I'd prefer the first iteration to not modify the tree at all.  The 
specified command line configuration should exactly match whatever the 
tree specifies.

How manipulate the tree in a generic way is IMHO a harder problem that 
deserves to be addressed in a proper way.

>> The long term goal, would be to have a mechanism to modify the tree in
>> a generic way and the -net nic code would end up looking like:
>>
>> node = find_next_device("type=nic,model=rtl8139");
>> if (!node) {
>>   node = find_bus("type=pcibus");
>>   if (!node)
>>       bail out
>>   node = add_node_to_bus(node,
>> "type=nic,model=rtl8139,remaining_description_of_rtl8139");
>>   if (!node)
>>       bail out
>> }
>>
>> attach_nic_to_vlan(vlan, node);
>>     
>
> Makes sense to me.
>
> The driver should declare on what kind(s) of bus this device can go.
>   

Yup.

Regards,

Anthony Liguori

  reply	other threads:[~2009-02-23 18:58 UTC|newest]

Thread overview: 146+ 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
     [not found]   ` <18834.64870.951989.714873-msK/Ju9w1zmnROeE8kUsYhEHtJm+Wo+I@public.gmane.org>
2009-02-11 18:57     ` Hollis Blanchard
2009-02-11 18:57       ` Hollis Blanchard
     [not found]       ` <1234378639.28751.85.camel-EGjIuKC2qUdB0N6nvOmcJFaTQe2KTcn/@public.gmane.org>
2009-02-12  3:50         ` David Gibson
2009-02-12  3:50           ` David Gibson
     [not found] ` <87iqnh6kyv.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-11 18:50   ` Hollis Blanchard
2009-02-11 18:50     ` Hollis Blanchard
2009-02-11 19:34     ` Blue Swirl
2009-02-11 19:34       ` [Qemu-devel] " Blue Swirl
     [not found]     ` <1234378228.28751.79.camel-EGjIuKC2qUdB0N6nvOmcJFaTQe2KTcn/@public.gmane.org>
2009-02-12  4:01       ` David Gibson
2009-02-12  4:01         ` David Gibson
2009-02-12 10:26         ` Markus Armbruster
2009-02-12 10:26           ` [Qemu-devel] " Markus Armbruster
2009-02-12 12:49           ` Carl-Daniel Hailfinger
2009-02-12 12:49             ` [Qemu-devel] " Carl-Daniel Hailfinger
2009-02-12 16:46             ` M. Warner Losh
2009-02-12 16:46               ` [Qemu-devel] " M. Warner Losh
2009-02-12 18:29               ` Markus Armbruster
2009-02-12 18:29                 ` [Qemu-devel] " Markus Armbruster
2009-02-12 23:58                 ` Carl-Daniel Hailfinger
2009-02-12 23:58                   ` [Qemu-devel] " Carl-Daniel Hailfinger
     [not found]                   ` <4994B7B6.80805-hi6Y0CQ0nG0@public.gmane.org>
2009-02-13 11:19                     ` Markus Armbruster
2009-02-13 11:19                       ` Markus Armbruster
     [not found]                 ` <87prhnwltz.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-13  1:05                   ` David Gibson
2009-02-13  1:05                     ` David Gibson
2009-02-12 23:35               ` Carl-Daniel Hailfinger
2009-02-12 23:35                 ` [Qemu-devel] " Carl-Daniel Hailfinger
2009-02-12 23:58                 ` Paul Brook
2009-02-12 23:58                   ` [Qemu-devel] " Paul Brook
     [not found]                   ` <200902122358.25864.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org>
2009-02-13  0:32                     ` Carl-Daniel Hailfinger
2009-02-13  0:32                       ` Carl-Daniel Hailfinger
2009-02-13  0:47                       ` Jamie Lokier
2009-02-13  0:47                         ` [Qemu-devel] " Jamie Lokier
     [not found]                       ` <4994BF93.2070409-hi6Y0CQ0nG0@public.gmane.org>
2009-02-13  1:46                         ` David Gibson
2009-02-13  1:46                           ` David Gibson
2009-02-13 14:32                       ` Lennart Sorensen
2009-02-13 14:32                         ` [Qemu-devel] " Lennart Sorensen
     [not found]                 ` <4994B22E.6060608-hi6Y0CQ0nG0@public.gmane.org>
2009-02-13  0:05                   ` M. Warner Losh
2009-02-13  0:05                     ` M. Warner Losh
     [not found]           ` <87iqng0x3t.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-12 17:52             ` Hollis Blanchard
2009-02-12 17:52               ` Hollis Blanchard
     [not found]               ` <1234461162.20305.16.camel-EGjIuKC2qUdB0N6nvOmcJFaTQe2KTcn/@public.gmane.org>
2009-02-12 18:53                 ` Markus Armbruster
2009-02-12 18:53                   ` Markus Armbruster
     [not found]                   ` <87fxijwkpn.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-12 19:33                     ` Mitch Bradley
2009-02-12 19:33                       ` Mitch Bradley
     [not found]                       ` <499479A7.5090902-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2009-02-13  0:59                         ` David Gibson
2009-02-13  0:59                           ` David Gibson
2009-02-13  1:00                 ` David Gibson
2009-02-13  1:00                   ` David Gibson
2009-02-13  0:43             ` David Gibson
2009-02-13  0:43               ` David Gibson
     [not found]               ` <20090213004305.GB8104-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-02-13  2:11                 ` Carl-Daniel Hailfinger
2009-02-13  2:11                   ` Carl-Daniel Hailfinger
     [not found]                   ` <4994D6C8.5050004-hi6Y0CQ0nG0@public.gmane.org>
2009-02-13  2:17                     ` David Gibson
2009-02-13  2:17                       ` David Gibson
     [not found]                       ` <20090213021704.GA10476-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
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:45                           ` Carl-Daniel Hailfinger
     [not found]                           ` <4994DED9.6020803-hi6Y0CQ0nG0@public.gmane.org>
2009-02-13  2:51                             ` David Gibson
2009-02-13  2:51                               ` David Gibson
     [not found]                               ` <20090213025101.GC10476-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-02-13 17:07                                 ` [coreboot] " ron minnich
     [not found]                               ` <13426df10902130907m5c3452dpb8f4f2b72f8507b9@mail.gmail.com>
     [not found]                                 ` <13426df10902130907m5c3452dpb8f4f2b72f8507b9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-02-20  2:29                                   ` David Gibson
     [not found]                                     ` <20090220022918.GA18332-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-02-20  3:32                                       ` ron minnich
2009-02-13 20:04                     ` [Qemu-devel] [RFC] Machine description as data Jon Loeliger
2009-02-13 20:04                       ` Jon Loeliger
2009-02-13 20:15                       ` Carl-Daniel Hailfinger
2009-02-13 20:15                         ` Carl-Daniel Hailfinger
     [not found]                         ` <4995D4EE.8030703-hi6Y0CQ0nG0@public.gmane.org>
2009-02-13 20:19                           ` Jon Loeliger
2009-02-13 20:19                             ` Jon Loeliger
2009-02-12 10:26     ` Markus Armbruster
2009-02-12 10:26       ` [Qemu-devel] " Markus Armbruster
2009-02-12 12:36       ` Carl-Daniel Hailfinger
2009-02-12 12:36         ` [Qemu-devel] " Carl-Daniel Hailfinger
2009-02-12 16:07       ` Paul Brook
2009-02-12 17:17         ` Blue Swirl
2009-02-12 18:09         ` Marcelo Tosatti
     [not found]       ` <87k57w0x4r.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-13  0:37         ` David Gibson
2009-02-13  0:37           ` David Gibson
     [not found]           ` <20090213003724.GA8104-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-02-13 11:26             ` Markus Armbruster
2009-02-13 11:26               ` Markus Armbruster
     [not found]               ` <87ab8qr317.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-13 12:06                 ` Paul Brook
2009-02-13 12:06                   ` Paul Brook
     [not found]                   ` <200902131206.42427.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org>
2009-02-13 12:48                     ` Markus Armbruster
2009-02-13 12:48                       ` Markus Armbruster
     [not found]                       ` <87ocx6pkol.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-13 13:33                         ` Paul Brook
2009-02-13 13:33                           ` Paul Brook
     [not found]                           ` <200902131333.47141.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org>
2009-02-13 14:13                             ` Markus Armbruster
2009-02-13 14:13                               ` Markus Armbruster
     [not found]                               ` <871vu2pgq7.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-13 14:25                                 ` Paul Brook
2009-02-13 14:25                                   ` Paul Brook
     [not found]                                   ` <200902131425.53137.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org>
2009-02-13 15:47                                     ` Jamie Lokier
2009-02-13 15:47                                       ` Jamie Lokier
2009-02-13 18:36                                 ` Mitch Bradley
2009-02-13 18:36                                   ` Mitch Bradley
     [not found]                                   ` <4995BDC0.3040806-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2009-02-13 19:49                                     ` Markus Armbruster
2009-02-13 19:49                                       ` Markus Armbruster
     [not found]                                       ` <877i3uglqz.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-13 19:51                                         ` Mitch Bradley
2009-02-13 19:51                                           ` Mitch Bradley
2009-02-16  3:42                 ` David Gibson
2009-02-16  3:42                   ` David Gibson
     [not found]                   ` <20090216034214.GB9772-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-02-16 16:39                     ` Markus Armbruster
2009-02-16 16:39                       ` Markus Armbruster
     [not found]                       ` <87iqnawd2r.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-17  3:29                         ` David Gibson
2009-02-17  3:29                           ` David Gibson
     [not found]                           ` <20090217032909.GA29225-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-02-17  7:54                             ` Markus Armbruster
2009-02-17  7:54                               ` Markus Armbruster
2009-02-17 17:44                             ` Paul Brook
2009-02-17 17:44                               ` Paul Brook
     [not found]                               ` <200902171744.34951.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org>
2009-02-18  8:36                                 ` Markus Armbruster
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 [this message]
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
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=49A2F1C7.6000801@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --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.