{"push_id":803144837,"size":20,"distinct_size":20,"ref":"refs/heads/master","head":"fefa4b128de06cec6d513f00ee61e8208aed4a87","before":"684bb5770ec5d72a66620f64fc5d9672bf8d3509","commits":[{"sha":"d451008e0fdf7fb817c791397e7999d5f3687e58","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Cleanup RTL8168 quirk and tracing\n\nThere's quite a bit of cleanup that can be done to the RTL8168 quirk,\nas well as the tracing to prevent a spew of uninteresting accesses\nfor anything else the driver might choose to use the window registers\nfor besides the MSI-X table.  There should be no functional change,\nbut it's now possible to get compact and useful traces by enabling\nvfio_rtl8168_quirk*, ex:\n\nvfio_rtl8168_quirk_write 0000:04:00.0 [address]: 0x1f000\nvfio_rtl8168_quirk_read 0000:04:00.0 [address]: 0x8001f000\nvfio_rtl8168_quirk_read 0000:04:00.0 [data]: 0xfee0100c\nvfio_rtl8168_quirk_write 0000:04:00.0 [address]: 0x1f004\nvfio_rtl8168_quirk_read 0000:04:00.0 [address]: 0x8001f004\nvfio_rtl8168_quirk_read 0000:04:00.0 [data]: 0x0\nvfio_rtl8168_quirk_write 0000:04:00.0 [address]: 0x1f008\nvfio_rtl8168_quirk_read 0000:04:00.0 [address]: 0x8001f008\nvfio_rtl8168_quirk_read 0000:04:00.0 [data]: 0x49b1\nvfio_rtl8168_quirk_write 0000:04:00.0 [address]: 0x1f00c\nvfio_rtl8168_quirk_read 0000:04:00.0 [address]: 0x8001f00c\nvfio_rtl8168_quirk_read 0000:04:00.0 [data]: 0x0\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/d451008e0fdf7fb817c791397e7999d5f3687e58"},{"sha":"b5bd049fa907bccc4600ad1855e1c9c0e62f0be3","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Cleanup vfio_early_setup_msix() error path\n\nWith the addition of the Chelsio quirk we have an error path out of\nvfio_early_setup_msix() that doesn't free the allocated VFIOMSIXInfo\nstruct.  This doesn't introduce a leak as it still gets freed in the\nvfio_put_device() path, but it's complicated and sloppy to rely on\nthat.  Restructure to free the allocated data on error and only link\nit into the vdev on success.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>\nReported-by: Laszlo Ersek <lersek@redhat.com>\nReviewed-by: Laszlo Ersek <lersek@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/b5bd049fa907bccc4600ad1855e1c9c0e62f0be3"},{"sha":"870cb6f104e5d3364288d894746dd88fe9ac59cb","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Rename INTx functions for easier tracing\n\nRename functions and tracing callbacks so that we can trace vfio_intx*\nto see all the INTx related activities.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/870cb6f104e5d3364288d894746dd88fe9ac59cb"},{"sha":"0de70dc7bab1cd58d02e86ed27e291843983b13b","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Rename MSI/X functions for easier tracing\n\nThis allows vfio_msi* tracing.  The MSI/X interrupt tracing is also\npulled out of #ifdef DEBUG_VFIO to avoid a recompile for tracing this\npath.  A few cycles to read the message is hardly anything if we're\nalready in QEMU.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/0de70dc7bab1cd58d02e86ed27e291843983b13b"},{"sha":"46746dbaa8c2c421b9bda78193caad57d7fb1136","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Make interrupt bypass runtime configurable\n\nTracing is more effective when we can completely disable all KVM\nbypass paths.  Make these runtime rather than build-time configurable.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/46746dbaa8c2c421b9bda78193caad57d7fb1136"},{"sha":"5e15d79b8681c7f4e2079833288785708e7520d3","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio: Change polarity of our no-mmap option\n\nThe default should be to allow mmap and new drivers shouldn't need to\nexpose an option or set it to other than the allocation default in\ntheir initfn.  Take advantage of the experimental flag to change this\noption to the correct polarity.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/5e15d79b8681c7f4e2079833288785708e7520d3"},{"sha":"78f33d2bfd26ec552d9e824bcc1dbb8e2736ce34","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Extract PCI structures to a separate header\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/78f33d2bfd26ec552d9e824bcc1dbb8e2736ce34"},{"sha":"c00d61d8fa22b096b15e19ee2fde846ffc1c0b5d","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Split quirks to a separate file\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/c00d61d8fa22b096b15e19ee2fde846ffc1c0b5d"},{"sha":"056dfcb695cde3c62b7dc1d5ed6d2e38b3a73e29","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Cleanup ROM blacklist quirk\n\nCreate a vendor:device ID helper that we'll also use as we rework the\nrest of the quirks.  Re-reading the config entries, even if we get\nmore blacklist entries, is trivial overhead and only incurred during\ndevice setup.  There's no need to typedef the blacklist structure,\nit's a static private data type used once.  The elements get bumped\nup to uint32_t to avoid future maintenance issues if PCI_ANY_ID gets\nused for a blacklist entry (avoiding an actual hardware match).  Our\ntest loop is also crying out to be simplified as a for loop.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/056dfcb695cde3c62b7dc1d5ed6d2e38b3a73e29"},{"sha":"8c4f234853d9d438dc1733ca98674b1139a87c99","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Foundation for new quirk structure\n\nVFIOQuirk hosts a single memory region and a fixed set of data fields\nthat try to handle all the quirk cases, but end up making those that\ndon't exactly match really confusing.  This patch introduces a struct\nintended to provide more flexibility and simpler code.  VFIOQuirk is\nstripped to its basics, an opaque data pointer for quirk specific\ndata and a pointer to an array of MemoryRegions with a counter.  This\nstill allows us to have common teardown routines, but adds much\ngreater flexibility to support multiple memory regions and quirk\nspecific data structures that are easier to maintain.  The existing\nVFIOQuirk is transformed into VFIOLegacyQuirk, which further patches\nwill eliminate entirely.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/8c4f234853d9d438dc1733ca98674b1139a87c99"},{"sha":"b946d286114e09a81c303c7ec8ec3f7b33dff9e8","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Cleanup ATI 0x3c3 quirk\n\nThis is an easy quirk that really doesn't need a data structure if\nits own.  We can pass vdev as the opaque data and access to the\nMemoryRegion isn't required.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/b946d286114e09a81c303c7ec8ec3f7b33dff9e8"},{"sha":"6029a424be37e0d7949546af7593b9b604611480","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Cleanup Nvidia 0x3d0 quirk\n\nThe Nvidia 0x3d0 quirk makes use of a two separate registers and gives\nus our first chance to make use of separate memory regions for each to\nsimplify the code a bit.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/6029a424be37e0d7949546af7593b9b604611480"},{"sha":"954258a5f11b51abd1ceed7c96d1204d4cef1353","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Rework RTL8168 quirk\n\nAnother rework of this quirk, this time to update to the new quirk\nstructure.  We can handle the address and data registers with\nseparate MemoryRegions and a quirk specific data structure, making the\ncode much more understandable.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/954258a5f11b51abd1ceed7c96d1204d4cef1353"},{"sha":"0e54f24a5b4bb756715928058b60a7d5f70ccd7f","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Config window quirks\n\nConfig windows make use of an address register and a data register.\nIn VGA cards, these are often used to provide real mode code in the\nBIOS an easy way to access MMIO registers since the window often\nresides in an I/O port register.  When the MMIO register has a mirror\nof PCI config space, we need to trap those accesses and redirect them\nto emulated config space.\n\nThe previous version of this functionality made use of a single\nMemoryRegion and single match address.  This version uses separate\nMemoryRegions for each of the address and data registers and allows\nfor multiple match addresses.  This is useful for Nvidia cards which\nhave two ranges which index into PCI config space.\n\nThe previous implementation is left for the follow-on patch for a more\nreviewable diff.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/0e54f24a5b4bb756715928058b60a7d5f70ccd7f"},{"sha":"0d38fb1c5f921acc050d5f80a2ff4e627b565494","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Config mirror quirk\n\nRe-implement our mirror quirk using the new infrastructure.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/0d38fb1c5f921acc050d5f80a2ff4e627b565494"},{"sha":"958d553405462e95b9d15e8ca6cfb602f7815277","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Remove old config window and mirror quirks\n\nThese are now unused.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/958d553405462e95b9d15e8ca6cfb602f7815277"},{"sha":"c9c5000991148383d628aac59f1593937be572e4","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Move AMD device specific reset to quirks\n\nThis is just another quirk, for reset rather than affecting memory\nregions.  Move it to our new quirks file.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/c9c5000991148383d628aac59f1593937be572e4"},{"sha":"ff635e3775447b7e797f1bad8cf33403199faba1","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Cache vendor and device ID\n\nSimplify access to commonly referenced PCI vendor and device ID by\ncaching it on the VFIOPCIDevice struct.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/ff635e3775447b7e797f1bad8cf33403199faba1"},{"sha":"89dcccc5931cc8afc2ccc7cd378695165768148b","author":{"email":"7469de9b95ba379e2656fa9677689657c47a7690@redhat.com","name":"Alex Williamson"},"message":"vfio/pci: Add emulated PCI IDs\n\nSpecifying an emulated PCI vendor/device ID can be useful for testing\nvarious quirk paths, even though the behavior and functionality of\nthe device with bogus IDs is fully unsupportable.  We need to use a\nuint32_t for the vendor/device IDs, even though the registers\nthemselves are only 16-bit in order to be able to determine whether\nthe value is valid and user set.\n\nThe same support is added for subsystem vendor/device ID, though these\nhave the possibility of being useful and supported for more than a\ntesting tool.  An emulated platform might want to impose their own\nsubsystem IDs or at least hide the physical subsystem ID.  Windows\nguests will often reinstall drivers due to a change in subsystem IDs,\nsomething that VM users may want to avoid.  Of course careful\nattention would be required to ensure that guest drivers do not rely\non the subsystem ID as a basis for device driver quirks.\n\nAll of these options are added using the standard experimental option\nprefix and should not be considered stable.\n\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/89dcccc5931cc8afc2ccc7cd378695165768148b"},{"sha":"fefa4b128de06cec6d513f00ee61e8208aed4a87","author":{"email":"313afa09ce093b19ae1dd74f57c1ebd94508584c@linaro.org","name":"Peter Maydell"},"message":"Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20150923.0' into staging\n\nVFIO updates 2015-09-23\n\n - Tracing improvements to use common prefixes for functional areas\n - Quirks overhaul:\n   - Split PCI quirks to separate file\n   - Make them understandable and more extensible\n   - Improve use of MemoryRegions and eliminate use of target pagesize\n - Eliminate build-time debugging, everything migrated to runtime opts\n\n# gpg: Signature made Wed 23 Sep 2015 21:09:05 BST using RSA key ID 3BB08B22\n# gpg: Good signature from \"Alex Williamson <alex.williamson@redhat.com>\"\n# gpg:                 aka \"Alex Williamson <alex@shazbot.org>\"\n# gpg:                 aka \"Alex Williamson <alwillia@redhat.com>\"\n# gpg:                 aka \"Alex Williamson <alex.l.williamson@gmail.com>\"\n\n* remotes/awilliam/tags/vfio-update-20150923.0:\n  vfio/pci: Add emulated PCI IDs\n  vfio/pci: Cache vendor and device ID\n  vfio/pci: Move AMD device specific reset to quirks\n  vfio/pci: Remove old config window and mirror quirks\n  vfio/pci: Config mirror quirk\n  vfio/pci: Config window quirks\n  vfio/pci: Rework RTL8168 quirk\n  vfio/pci: Cleanup Nvidia 0x3d0 quirk\n  vfio/pci: Cleanup ATI 0x3c3 quirk\n  vfio/pci: Foundation for new quirk structure\n  vfio/pci: Cleanup ROM blacklist quirk\n  vfio/pci: Split quirks to a separate file\n  vfio/pci: Extract PCI structures to a separate header\n  vfio: Change polarity of our no-mmap option\n  vfio/pci: Make interrupt bypass runtime configurable\n  vfio/pci: Rename MSI/X functions for easier tracing\n  vfio/pci: Rename INTx functions for easier tracing\n  vfio/pci: Cleanup vfio_early_setup_msix() error path\n  vfio/pci: Cleanup RTL8168 quirk and tracing\n\nSigned-off-by: Peter Maydell <peter.maydell@linaro.org>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/fefa4b128de06cec6d513f00ee61e8208aed4a87"}]}