All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Färber" <andreas.faerber@web.de>
To: "Hervé Poussineau" <hpoussin@reactos.org>
Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Hu Tao <hutao@cn.fujitsu.com>,
	qemu-devel@nongnu.org, qemu-ppc@nongnu.org,
	Anthony Liguori <anthony@codemonkey.ws>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 2/2] i82378: cleanup implementation
Date: Wed, 31 Jul 2013 19:06:24 +0200	[thread overview]
Message-ID: <51F94410.20905@web.de> (raw)
In-Reply-To: <51F81CC6.8090104@reactos.org>

Am 30.07.2013 22:06, schrieb Hervé Poussineau:
> Andreas Färber a écrit :
>> Am 23.07.2013 23:16, schrieb Hervé Poussineau:
>>>  }
>>>  
>>> -static void i82378_init(DeviceState *dev, I82378State *s)
>>> +static void i82378_realize(DeviceState *dev, Error **errp)
>>>  {
>>> -    ISABus *isabus = ISA_BUS(qdev_get_child_bus(dev, "isa.0"));
>>> -    ISADevice *pit;
>>> +    PCIDevice *pci = PCI_DEVICE(dev);
>>> +    I82378State *s = I82378(dev);
>>> +    DeviceClass *dc;
>>> +    uint8_t *pci_conf;
>>> +    ISABus *isabus;
>>>      ISADevice *isa;
>>>      qemu_irq *out0_irq;
>>>  
>>> +    dc =
>>> DEVICE_CLASS(object_class_get_parent(object_get_class(OBJECT(dev))));
>>
>> This is going into uncharted territories. ;) I consider it wrong to use
>> object_get_class() - we should use object_class_by_name() to allow for
>> derived types and I'll put it into a macro that I'll try to align with
>> Peter C.'s and my QOM work.
> 
> OK

While this gave me an inspiration for my virtio refactoring (it is
possible to convert device by device by calling the parent's
DeviceClass::realize as done here, as long as the *Class::init is called
conditionally through the DeviceClass::init implementation), I am
concerned about a single device deviating from initialization order here
(hw/pci/pci.c:pci_qdev_init() does things after calling PCIDevice::init,
namely ROM handling and bus hotplug) and will revert this to an
old-style qdev initfn for 1.6 bugfix.

[...]
>>> +    dc->no_user = 1;
>>
>> Why do you do this? For one, according to Anthony it should no longer be
>> used, and for another, Paolo's endianness-test (make check) is using
>> -device i82378 for various other ppc and sh4 machines IIUC. make check
>> still succeeds for ppc with this patch though, so that might be due to
>> -device ignoring DeviceClass::no_user?
> 
> I probably copied it from another chipset device, maybe i440fx.
> I don't really mind removing it.

Good.

> Yes, I double-checked that make check still works for all architectures.
> 
>> Hoping to get this in shape for -rc1.
> 
> Sure. Should I send a v2, as it seems you already queued it?

Since -rc1 is due tomorrow, I'll put together a pull myself tonight.

Andreas

  reply	other threads:[~2013-07-31 17:06 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-23 21:16 [Qemu-devel] [PATCH 0/2] prep/i82378: simplify and enhance i82378 chipset implementation Hervé Poussineau
2013-07-23 21:16 ` [Qemu-devel] [PATCH 1/2] prep_pci: set isa_mem_base in the PCI host bridge Hervé Poussineau
2013-07-23 22:33   ` Andreas Färber
2013-07-24  5:37     ` Hervé Poussineau
2013-07-23 21:16 ` [Qemu-devel] [PATCH 2/2] i82378: cleanup implementation Hervé Poussineau
2013-07-29 21:53   ` Andreas Färber
2013-07-30 20:06     ` Hervé Poussineau
2013-07-31 17:06       ` Andreas Färber [this message]
2013-07-31 17:23   ` Andreas Färber
2013-07-31 18:58     ` Hervé Poussineau

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=51F94410.20905@web.de \
    --to=andreas.faerber@web.de \
    --cc=anthony@codemonkey.ws \
    --cc=hpoussin@reactos.org \
    --cc=hutao@cn.fujitsu.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.crosthwaite@xilinx.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@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.