{"push_id":1041066494,"size":114,"distinct_size":114,"ref":"refs/heads/mips-next","head":"e9f517b73dab520de05b871359d2beedf8b04e53","before":"b7c4ab809a4bfde4ab322b49fbe2e47536da7487","commits":[{"sha":"3be5cc23245637577210e43e68dd3babd01fbb5e","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"target-ppc: Document TOCTTOU in hugepage support\n\nThe code to find the minimum page size is is vulnerable to TOCTTOU.\nAdded in commit 2d103aa \"target-ppc: fix hugepage support when using\nmemory-backend-file\" (v2.4.0).  Since I can't fix it myself right now,\nadd a FIXME comment.\n\nCc: Paolo Bonzini <pbonzini@redhat.com>\nCc: Michael Roth <mdroth@linux.vnet.ibm.com>\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nMessage-Id: <1458066895-20632-2-git-send-email-armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/3be5cc23245637577210e43e68dd3babd01fbb5e"},{"sha":"e3ad72965a86b19df5d011117e186c62893085ef","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem-server: Fix and clean up command line help\n\nBurying error messages in ~20 lines of usage help is bad form.  Print\na single line pointing to -h instead.\n\nPrint -h help to stdout rather than stderr.  Fix default of -p.  Clean\nup the help text a bit.\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-3-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/e3ad72965a86b19df5d011117e186c62893085ef"},{"sha":"3625c739eaf304fdf8ab3552ea6140cce07962a2","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem-server: Don't overload POSIX shmem and file name\n\nOption -m NAME is interpreted as directory name if we can statfs() it\nand its on hugetlbfs.  Else it's interpreted as POSIX shared memory\nobject name.  This is nuts.\n\nAlways interpret -m as directory.  Create new -M for POSIX shared\nmemory.  Last of -m or -M wins.\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nMessage-Id: <1458066895-20632-4-git-send-email-armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/3625c739eaf304fdf8ab3552ea6140cce07962a2"},{"sha":"ad4929384b64ffc9908915fd40cb80f455835d4a","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"qemu-doc: Fix ivshmem huge page example\n\nOption parameter \"share\" is missing.  Without it, you get a *private*\nmmap(), which defeats ivshmem's purpose pretty thoroughly ;)\n\nWhile there, switch to the conventional mountpoint of hugetlbfs\n/dev/hugepages.\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nReviewed-by: Paolo Bonzini <pbonzini@redhat.com>\nMessage-Id: <1458066895-20632-5-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/ad4929384b64ffc9908915fd40cb80f455835d4a"},{"sha":"330b58368ca16c31efdadcf8263f7f903546af50","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"event_notifier: Make event_notifier_init_fd() #ifdef CONFIG_EVENTFD\n\nEvent notifiers are designed for eventfd(2).  They can fall back to\npipes, but according to Paolo, event_notifier_init_fd() really\nrequires the real thing, and should therefore be under #ifdef\nCONFIG_EVENTFD.  Do that.\n\nIts only user is ivshmem, which is currently CONFIG_POSIX.  Narrow it\nto CONFIG_EVENTFD.\n\nCc: Paolo Bonzini <pbonzini@redhat.com>\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Paolo Bonzini <pbonzini@redhat.com>\nMessage-Id: <1458066895-20632-6-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/330b58368ca16c31efdadcf8263f7f903546af50"},{"sha":"998261726a6aff3c8a88ae6965e51a6717b467ff","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"tests/libqos/pci-pc: Fix qpci_pc_iomap() to map BARs aligned\n\nqpci_pc_iomap() maps BARs one after the other, without padding.  This\nis wrong.  PCI Local Bus Specification Revision 3.0, 6.2.5.1. Address\nMaps: \"all address spaces used are a power of two in size and are\nnaturally aligned\".  That's because the size of a BAR is given by the\nnumber of address bits the device decodes, and the BAR needs to be\nmapped at a multiple of that size to ensure the address decoding\nworks.\n\nFix qpci_pc_iomap() accordingly.  This takes care of a FIXME in\nivshmem-test.\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-7-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/998261726a6aff3c8a88ae6965e51a6717b467ff"},{"sha":"4958fe5d3c77a40a5250bc820b582a29d73605ab","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem-test: Improve test case /ivshmem/single\n\nTest state of registers after reset.\n\nTest reading Interrupt Status clears it.\n\nTest (invalid) read of Doorbell.\n\nAdd more comments.\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-8-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/4958fe5d3c77a40a5250bc820b582a29d73605ab"},{"sha":"14c5d49ab39fe767c39b8adce9bee5494063d56a","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem-test: Clean up wait for devices to become operational\n\ntest_ivshmem_server() waits until the first byte in BAR 2 contains the\n0x42 we put into shared memory.  Works because the byte reads zero\nuntil the device maps the shared memory gotten from the server.\n\nCheck the IVPosition register instead: it's initially -1, and becomes\nnon-negative right when the device maps the share memory, so no\nchange, just cleaner, because it's what guest software is supposed to\ndo.\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-9-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/14c5d49ab39fe767c39b8adce9bee5494063d56a"},{"sha":"41b65e5eda4364fa966cb7bbf693a1d0cb4e8e1e","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem-test: Improve test cases /ivshmem/server-*\n\nDocument missing test: behavior with MSI-X present but not enabled.\n\nFor MSI-X, we test and clear the interrupt pending bit before testing\nthe interrupt.  For INTx, we only clear.  Change to test and clear for\nconsistency.\n\nTest MSI-X vector 1 in addition to vector 0.\n\nImprove comments.\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-10-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/41b65e5eda4364fa966cb7bbf693a1d0cb4e8e1e"},{"sha":"fdee2025dd690b35099dd4d04eeef27c2bc1bc9c","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem: Rewrite specification document\n\nThis started as an attempt to update ivshmem_device_spec.txt for\nclarity, accuracy and completeness while working on its code, and\nquickly became a full rewrite.  Since the diff would be useless\nanyway, I'm using the opportunity to rename the file to\nivshmem-spec.txt.\n\nI tried hard to ensure the new text contradicts neither the old text\nnor the code.  If the new text contradicts the old text but not the\ncode, it's probably a bug in the old text.  If the new text\ncontradicts both, its probably a bug in the new text.\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-11-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/fdee2025dd690b35099dd4d04eeef27c2bc1bc9c"},{"sha":"97553976dde2181be3ff95863905c4e34776ae70","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem: Add missing newlines to debug printfs\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-12-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/97553976dde2181be3ff95863905c4e34776ae70"},{"sha":"a4fa93bf20a4be3377df6ac9c9d63cccc31ab68c","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem: Compile debug prints unconditionally to prevent bit-rot\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-13-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/a4fa93bf20a4be3377df6ac9c9d63cccc31ab68c"},{"sha":"e64befe929cc4c4a53a79ff469b1b52c210a3468","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem: Clean up after commit 9940c32\n\nIVShmemState member eventfd_chr is useless since commit 9940c32.  Drop\nit.\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-14-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/e64befe929cc4c4a53a79ff469b1b52c210a3468"},{"sha":"c20fc0c3ee1ca83e6f3416acad31439bffed7977","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem: Drop ivshmem_event() stub\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-15-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/c20fc0c3ee1ca83e6f3416acad31439bffed7977"},{"sha":"71c265816dd2772f89ebb377381c836dfca09d70","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem: Don't destroy the chardev on version mismatch\n\nYes, the chardev is commonly useless after we read a bad version from\nit, but destroying it is inappropriate anyway: the user created it, so\nthe user should be able to hold on to it as long as he likes.  We\ndon't destroy it on other errors.  Screwed up in commit 5105b1d.\n\nStop reading instead.\n\nAlso note QEMU's behavior in ivshmem-spec.txt.\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-16-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/71c265816dd2772f89ebb377381c836dfca09d70"},{"sha":"9cf70c52253ccadc137d40eb0de2c0f25a127334","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem: Fix harmless misuse of Error\n\nWe reuse errp after passing it host_memory_backend_get_memory().  If\nboth host_memory_backend_get_memory() and the reuse set an error, the\nreuse will fail the assertion in error_setv().  Fortunately,\nhost_memory_backend_get_memory() can't fail.\n\nPass it &error_abort to make our assumption explicit, and to get the\nassertion failure in the right place should it become invalid.\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-17-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/9cf70c52253ccadc137d40eb0de2c0f25a127334"},{"sha":"d855e2756554583b2b041c9e0a8381bdd202cbc3","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem: Failed realize() can leave migration blocker behind\n\nIf pci_ivshmem_realize() fails after it created its migration blocker,\nthe blocker is left in place.  Fix that by creating it last.\n\nLikewise, if it fails after it called fifo8_create(), it leaks fifo\nmemory.  Fix that the same way.\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-18-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/d855e2756554583b2b041c9e0a8381bdd202cbc3"},{"sha":"434ad76db531b4bcad241aa4b2abd4bccacca89a","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem: Clean up register callbacks\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nMessage-Id: <1458066895-20632-19-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/434ad76db531b4bcad241aa4b2abd4bccacca89a"},{"sha":"082751e82bed9482fc75863e0b305949bb230c6a","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem: Clean up MSI-X conditions\n\nThere are three predicates related to MSI-X:\n\n* ivshmem_has_feature(s, IVSHMEM_MSI) is true unless the non-MSI-X\n  variant of the device is selected with msi=off.\n\n* msix_present() is true when the device has the PCI capability MSI-X.\n  It's initially false, and becomes true during successful realize of\n  the MSI-X variant of the device.  Thus, it's the same as\n  ivshmem_has_feature(s, IVSHMEM_MSI) for realized devices.\n\n* msix_enabled() is true when msix_present() is true and guest software\n  has enabled MSI-X.\n\nCode that differs between the non-MSI-X and the MSI-X variant of the\ndevice needs to be guarded by ivshmem_has_feature(s, IVSHMEM_MSI) or\nby msix_present(), except the latter works only for realized devices.\n\nCode that depends on whether MSI-X is in use needs to be guarded with\nmsix_enabled().\n\nCode review led me to two minor messes:\n\n* ivshmem_vector_notify() calls msix_notify() even when\n  !msix_enabled(), unlike most other MSI-X-capable devices.  As far as\n  I can tell, msix_notify() does nothing when !msix_enabled().  Add\n  the guard anyway.\n\n* Most callers of ivshmem_use_msix() guard it with\n  ivshmem_has_feature(s, IVSHMEM_MSI).  Not necessary, because\n  ivshmem_use_msix() does nothing when !msix_present().  That's\n  ivshmem's only use of msix_present(), though.  Guard it\n  consistently, and drop the now redundant msix_present() check.\n  While there, rename ivshmem_use_msix() to ivshmem_msix_vector_use().\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nMessage-Id: <1458066895-20632-20-git-send-email-armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/082751e82bed9482fc75863e0b305949bb230c6a"},{"sha":"2d1d422d1145085fdde6a90d70cbbff7103d469b","author":{"email":"5d00b6b660f20fb41305186c34c40973ec5cb35b@redhat.com","name":"Markus Armbruster"},"message":"ivshmem: Leave INTx alone when using MSI-X\n\nThe ivshmem device can either use MSI-X or legacy INTx for interrupts.\n\nWith MSI-X enabled, peer interrupt events trigger an MSI as they\nshould.  But software can still raise INTx via interrupt status and\nmask register in BAR 0.  This is explicitly prohibited by PCI Local\nBus Specification Revision 3.0, section 6.8.3.3:\n\n    While enabled for MSI or MSI-X operation, a function is prohibited\n    from using its INTx# pin (if implemented) to request service (MSI,\n    MSI-X, and INTx# are mutually exclusive).\n\nFix the device model to leave INTx alone when using MSI-X.\n\nDocument that we claim to use INTx in config space even when we don't.\nUnlike other devices, ivshmem does *not* use INTx when configured for\nMSI-X and MSI-X isn't enabled by software.\n\nSigned-off-by: Markus Armbruster <armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nReviewed-by: Paolo Bonzini <pbonzini@redhat.com>\nMessage-Id: <1458066895-20632-21-git-send-email-armbru@redhat.com>","distinct":true,"url":"https://api.github.com/repos/lalrae/qemu/commits/2d1d422d1145085fdde6a90d70cbbff7103d469b"}]}