On 2011-12-04 15:48, Michael S. Tsirkin wrote:
> On Sun, Dec 04, 2011 at 03:35:38PM +0100, Jan Kiszka wrote:
>> On 2011-12-04 15:24, Michael S. Tsirkin wrote:
>>> On Sun, Dec 04, 2011 at 02:22:12PM +0100, Jan Kiszka wrote:
>>>> From: Jan Kiszka <jan.kis...@siemens.com>
>>>>
>>>> There is no point in pushing this burden to the devices, they may rather
>>>> forget to call them (like intel-hda and ahci ATM). Instead, reset
>>>> functions are now called from pci_device_reset and pci_bridge_reset.
>>>> They do nothing if the MSI/MSI-X is not in use.
>>>>
>>>> CC: Alexander Graf <ag...@suse.de>
>>>> CC: Gerd Hoffmann <kra...@redhat.com>
>>>> CC: Isaku Yamahata <yamah...@valinux.co.jp>
>>>> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
>>>
>>> What makes me unhappy with this proposal is that msix_write_config, for
>>> example, becomes in fact an internal interface. So devices should be
>>> calling some functions like msix_init from msix.h, but not others like
>>> msix_write_config.
>>>
>>> It used to be simple: devices should call msix_.
>>> Now, how are devices to figure it out?
>>>
>>> E.g. the comment near msix_write_config says:
>>> /* Handle MSI-X capability config write. */
>>
>> That should be aligned to msi_write_config's comment.
>>
>> My goal is to reduce the number of calls devices have to do in order to
>> use MSI. We have quite a few correct examples by now, so it should not
>> be too hard to figure out what to do to use standard MSI[X] services.
>>
>> Maybe a PCI skeleton device model would help further. Or up-to-date
>> documentation, thought that may be even harder. ;)
> 
> Maybe it's time to move code into hw/pci/ ?
> Then we could have private interfaces without
> kludges like pci_internals.h ...
> 

Sounds reasonable.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to