qemu-devel@nongnu.org
[Top] [All Lists]

Re: [Qemu-devel] [PATCH 1/3] qdev-ify isa pic

Subject: Re: [Qemu-devel] [PATCH 1/3] qdev-ify isa pic
From: Gerd Hoffmann
Date: Wed, 10 Jun 2009 11:50:18 +0200
On 06/10/09 11:43, Filip Navara wrote:
On Wed, Jun 10, 2009 at 9:32 AM, Gerd Hoffmann<kraxel@xxxxxxxxxx>  wrote:
[snip]>
In general I think we should handle as much as possible at DeviceState /
DeviceInfo level.  Stuff which devices commonly have should live there:
  IRQs, mmio, ioports, ... in DeviceState.  name, init and other generic
callbacks, ... in DeviceInfo.

The bus structs should only hold stuff which is actually specific to that
bus.  That is probably almost nothing for sysbus.  i2c has the xfer
callbacks in I2CSlaveInfo.  Likewise pci can have the config space
read/write callbacks in PCIDeviceInfo.

This is definitely based on wrong assumptions. I've GPIO devices
modelled on top of qdev and they don't know anything about IRQs, MMIO
or stuff like that. All they know about is that there are few in/out
GPIO pins, which are connected to the GPIO controller in the emulated
microcontroller.

Sure, not every device has IRQs. Nevertheless almost every bus out there supports IRQs. Thus it is IMHO pointless to have a common thing duplicated in each end every bus implementation, it should be in the most basic type instead.

That of course doesn't imply that every device must actually use them.

cheers,
  Gerd


<Prev in Thread] Current Thread [Next in Thread>