qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

  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).