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
signature.asc
Description: OpenPGP digital signature