All of lore.kernel.org
 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 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.