From: Corey Minyard <tcminyard@gmail.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Corey Minyard <cminyard@mvista.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 12/16] IPMI: Add a PC ISA type structure
Date: Mon, 16 Jul 2012 19:16:46 -0500 [thread overview]
Message-ID: <5004AEEE.9030308@acm.org> (raw)
In-Reply-To: <5003BFD7.2010703@redhat.com>
On 07/16/2012 02:16 AM, Paolo Bonzini wrote:
> Il 15/07/2012 22:25, minyard@acm.org ha scritto:
>> + /* Clear the property from this device so we can put it elsewhere */
>> + chr = isa->chr;
>> + qdev_prop_set_chr(&dev->qdev, "chardev", NULL);
>> +
>> + if (chr) {
>> + bdev = qdev_create(NULL, "ipmi-bmc-extern");
>> + qdev_prop_set_chr(bdev, "chardev", chr);
>> + } else {
>> + bdev = qdev_create(NULL, "ipmi-bmc-sim");
>> + }
>> + snprintf(typename, sizeof(typename), "ipmi-interface-%s", isa->interface);
>> + idev = qdev_create(&isa_bus->qbus, typename);
>> + qdev_prop_set_ptr(bdev, "ipmiif", idev);
>> + qdev_prop_set_uint64(idev, "iobase", isa->iobase);
>> + qdev_prop_set_ptr(idev, "bmc", bdev);
>> + qdev_prop_set_uint8(idev, "slave-addr", isa->slave_addr);
>> + rc = qdev_init(idev);
> I think this is adding a bit of extra complication. You do not need to
> add explicit devices for this.
Yeah, but the qdevs did a lot of nice things for me :). But I understand.
>
> If you want to make ipmi-bmc-* and ipmi-interface-* objects, you can
> create them with object_new, set the properties manually with the
> returned pointer and add the object to the parent with
> object_property_add_child.
The main reason I went with qdevs originally was because all the
properties are defined for qdevs. I'd have to do all my own properties
otherwise.
However, I think all the properties are represented by what is already
there in isa-ipmi, so just having pointers to the interface and bmc
objects is ok, I think.
>
> Otherwise, it should also be fine if you just add them as function pointers.
>
> Either way also lets you keep the ownership of the chardev in the ISA
> IPMI device, and avoids that "info qtree" looks strange and does not
> show the chardev you assigned.
Yeah, I see that now. Makes sense.
BTW, where do you want me to document this? I didn't see an obvious
place in qemu-options.hx.
I'm working on tests, too. I didn't find much there already, but I'll
see what I can add.
Thanks,
-corey
next prev parent reply other threads:[~2012-07-17 0:16 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-15 20:24 [Qemu-devel] [PATCH 01/16] smbios: Add a function to directly add an entry minyard
2012-07-15 20:24 ` [Qemu-devel] [PATCH 02/16] pc: move SMBIOS setup to after device init minyard
2012-07-15 20:24 ` [Qemu-devel] [PATCH 03/16] vl: Move init_timer_alarm() earlier minyard
2012-07-15 20:24 ` [Qemu-devel] [PATCH 04/16] qemu-char: Allocate CharDriverState in qemu_chr_new_from_opts minyard
2012-07-15 20:25 ` [Qemu-devel] [PATCH 05/16] qemu-char: Allow a chardev to reconnect if disconnected minyard
2012-07-15 20:25 ` [Qemu-devel] [PATCH 06/16] qemu-char: Fix a race reporting opens and closes minyard
2012-07-15 20:25 ` [Qemu-devel] [PATCH 07/16] qemu-char: remove free of chr from win_stdio_close minyard
2012-07-15 20:25 ` [Qemu-devel] [PATCH 08/16] qemu-char: Close fd at end of file minyard
2012-07-15 20:25 ` [Qemu-devel] [PATCH 09/16] qdev: Add a pre-firmware init capability minyard
2012-07-15 20:25 ` [Qemu-devel] [PATCH 10/16] qom: release previous object when setting minyard
2012-07-16 6:24 ` Paolo Bonzini
2012-07-17 0:07 ` Corey Minyard
2012-07-15 20:25 ` [Qemu-devel] [PATCH 11/16] Add a base IPMI interface minyard
2012-07-15 20:25 ` [Qemu-devel] [PATCH 12/16] IPMI: Add a PC ISA type structure minyard
2012-07-16 7:16 ` Paolo Bonzini
2012-07-17 0:16 ` Corey Minyard [this message]
2012-07-15 20:25 ` [Qemu-devel] [PATCH 13/16] IPMI: Add a KCS low-level interface minyard
2012-07-15 20:25 ` [Qemu-devel] [PATCH 14/16] IPMI: Add a BT " minyard
2012-07-15 20:25 ` [Qemu-devel] [PATCH 15/16] IPMI: Add a local BMC simulation minyard
2012-07-15 20:25 ` [Qemu-devel] [PATCH 16/16] IPMI: Add an external connection simulation interface minyard
2012-07-15 21:05 ` [Qemu-devel] [PATCH 01/16] smbios: Add a function to directly add an entry Corey Minyard
2012-07-16 15:46 ` Eric Blake
2012-07-17 0:06 ` Corey Minyard
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=5004AEEE.9030308@acm.org \
--to=tcminyard@gmail.com \
--cc=cminyard@mvista.com \
--cc=minyard@acm.org \
--cc=pbonzini@redhat.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).