{"push_id":857901736,"size":775,"distinct_size":0,"ref":"refs/heads/<1444137342-17325-1-git-send-email-digetx@gmail.com>","head":"5da51a1b490c2976b0aa196661a9a68fa746585d","before":"ca33fc2aab29aa84ce53bf33ea4a64ec363cb595","commits":[{"sha":"af3c15fee54e841d859d003b90a88042daf6cd7a","author":{"email":"49712f635b03c16d7f4c43df70e49ec8c565813d@de.ibm.com","name":"Christian Borntraeger"},"message":"pc-bios/s390-ccw: avoid floating point operations\n\nSome gcc versions (e.g. Fedora 22 gcc 5.1.1) seem to use floating\npoint registers for spilling and filling of general purpose registers.\nAs the BIOS does not activate the AFP register setting of CR0 this can\ncause data exception program checks.\nDisallow floating point in the BIOS as a simple solution.\n\nSigned-off-by: Christian Borntraeger <borntraeger@de.ibm.com>\nReviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>\nSigned-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>\nMessage-Id: <1443689387-34473-2-git-send-email-jfrei@linux.vnet.ibm.com>\nSigned-off-by: Christian Borntraeger <borntraeger@de.ibm.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/af3c15fee54e841d859d003b90a88042daf6cd7a"},{"sha":"8a641ff60f38799a10ed44a7c5bddd386bc169ed","author":{"email":"ae115cfa58aaa81618f054056f573d0d78c5ed09@linux.vnet.ibm.com","name":"David Hildenbrand"},"message":"s390x/gdb: expose virtualization specific registers\n\nLet's expose some virtual/fake registers as virtualization specific\nregisters.\n\nSigned-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>\nSigned-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>\nMessage-Id: <1443689387-34473-3-git-send-email-jfrei@linux.vnet.ibm.com>\nSigned-off-by: Christian Borntraeger <borntraeger@de.ibm.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/8a641ff60f38799a10ed44a7c5bddd386bc169ed"},{"sha":"7059384c7e27d68c502d8636eb711873a9a6a597","author":{"email":"ae115cfa58aaa81618f054056f573d0d78c5ed09@linux.vnet.ibm.com","name":"David Hildenbrand"},"message":"s390x: set missing parent for hotplug and quiesce events\n\nExisting code missed to set a parent for the quiesce and hotplug event.\nWhile this didn't matter in practise, new introspection APIs basically now\ndo an object_unref(object_new(T)), which loops forever.\n\nWhen trying to remove the event facility bus, the code tries to\nunparent all childs on the bus, so they are properly deleted and therefore removed.\nAs object_unparent() on these child devices doesn't work, as there is no parent,\nwe loop forever.\n\nLet's fix this by adding the event facility as a parent. Also switch from\nobject_initialize to object_new, so the only valid reference is in fact the\nparent property. This makes it more obvious when the device (state) is actually\ngone (and how the reference counting works).\n\nSigned-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>\nSigned-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>\nMessage-Id: <1443689387-34473-4-git-send-email-jfrei@linux.vnet.ibm.com>\nSigned-off-by: Christian Borntraeger <borntraeger@de.ibm.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/7059384c7e27d68c502d8636eb711873a9a6a597"},{"sha":"a6085fab3b6b9f0f9d636170b7d7bd31172b5038","author":{"email":"49712f635b03c16d7f4c43df70e49ec8c565813d@de.ibm.com","name":"Christian Borntraeger"},"message":"s390x/info registers: print vector registers properly\n\nWe want\n\nF12=0000000000000000 F13=0000000000000000 F14=0000000000000000 F15=0000000000000000\nV00=00000000000000000000000000000000 V01=00000000000000000000000000000000\n\ninstead of\nF12=0000000000000000 F13=0000000000000000 F14=0000000000000000 F15=0000000000000000\nV00=00000000000000000000000000000000\nV01=00000000000000000000000000000000 V02=00000000000000000000000000000000\n\nSigned-off-by: Christian Borntraeger <borntraeger@de.ibm.com>\nSigned-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>\nMessage-Id: <1443689387-34473-5-git-send-email-jfrei@linux.vnet.ibm.com>\nSigned-off-by: Christian Borntraeger <borntraeger@de.ibm.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/a6085fab3b6b9f0f9d636170b7d7bd31172b5038"},{"sha":"d9f090ec7794d433b8f222ae8c8f95601369a4a5","author":{"email":"ae115cfa58aaa81618f054056f573d0d78c5ed09@linux.vnet.ibm.com","name":"David Hildenbrand"},"message":"s390x: rename io_subsystem_reset -> subsystem_reset\n\nAccording to the Pop:\n\"Subsystem reset operates only on those elements in the configuration\nwhich are not CPUs\".\n\nAs this is what we actually do, let's simply rename the function.\n\nAcked-by: Cornelia Huck <cornelia.huck@de.ibm.com>\nSigned-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>\nSigned-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>\nMessage-Id: <1443689387-34473-6-git-send-email-jfrei@linux.vnet.ibm.com>\nSigned-off-by: Christian Borntraeger <borntraeger@de.ibm.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/d9f090ec7794d433b8f222ae8c8f95601369a4a5"},{"sha":"58892b447f0ffcd0967bc6f1bcb40df288ebeebc","author":{"email":"f60a3d4b180725ab11fd137ffa53f5ae9a69db9a@linaro.org","name":"Eric Auger"},"message":"hw/vfio/platform: irqfd setup sequence update\n\nWith current implementation, eventfd VFIO signaling is first set up and\nthen irqfd is setup, if supported and allowed.\n\nThis start sequence causes several issues with IRQ forwarding setup\nwhich, if supported, is transparently attempted on irqfd setup:\nIRQ forwarding setup is likely to fail if the IRQ is detected as under\ninjection into the guest (active at irqchip level or VFIO masked).\n\nThis currently always happens because the current sequence explicitly\nVFIO-masks the IRQ before setting irqfd.\n\nEven if that masking were removed, we couldn't prevent the case where\nthe IRQ is under injection into the guest.\n\nSo the simpler solution is to remove this 2-step startup and directly\nattempt irqfd setup. This is what this patch does.\n\nAlso in case the eventfd setup fails, there is no reason to go farther:\nlet's abort.\n\nSigned-off-by: Eric Auger <eric.auger@linaro.org>\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/58892b447f0ffcd0967bc6f1bcb40df288ebeebc"},{"sha":"a22313deca720e038ebc5805cf451b3a685d29ce","author":{"email":"f60a3d4b180725ab11fd137ffa53f5ae9a69db9a@linaro.org","name":"Eric Auger"},"message":"hw/vfio/platform: change interrupt/unmask fields into pointer\n\nunmask EventNotifier might not be initialized in case of edge\nsensitive irq. Using EventNotifier pointers make life simpler to\nhandle the edge-sensitive irqfd setup.\n\nSigned-off-by: Eric Auger <eric.auger@linaro.org>\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/a22313deca720e038ebc5805cf451b3a685d29ce"},{"sha":"a5b39cd3f647eaaaef5b648beda5cb2f387418c0","author":{"email":"f60a3d4b180725ab11fd137ffa53f5ae9a69db9a@linaro.org","name":"Eric Auger"},"message":"hw/vfio/platform: do not set resamplefd for edge-sensitive IRQS\n\nIn irqfd mode, current code attempts to set a resamplefd whatever\nthe type of the IRQ. For an edge-sensitive IRQ this attempt fails\nand as a consequence, the whole irqfd setup fails and we fall back\nto the slow mode. This patch bypasses the resamplefd setting for\nnon level-sentive IRQs.\n\nSigned-off-by: Eric Auger <eric.auger@linaro.org>\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/a5b39cd3f647eaaaef5b648beda5cb2f387418c0"},{"sha":"ee0bf0e59bb1c07c0196142f2ecfd88f7f8b194e","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@gibson.dropbear.id.au","name":"David Gibson"},"message":"vfio: Remove unneeded union from VFIOContainer\n\nCurrently the VFIOContainer iommu_data field contains a union with\ndifferent information for different host iommu types.  However:\n   * It only actually contains information for the x86-like \"Type1\" iommu\n   * Because we have a common listener the Type1 fields are actually used\non all IOMMU types, including the SPAPR TCE type as well\n\nIn fact we now have a general structure for the listener which is unlikely\nto ever need per-iommu-type information, so this patch removes the union.\n\nIn a similar way we can unify the setup of the vfio memory listener in\nvfio_connect_container() that is currently split across a switch on iommu\ntype, but is effectively the same in both cases.\n\nThe iommu_data.release pointer was only needed as a cleanup function\nwhich would handle potentially different data in the union.  With the\nunion gone, it too can be removed.\n\nSigned-off-by: David Gibson <david@gibson.dropbear.id.au>\nReviewed-by: Laurent Vivier <lvivier@redhat.com>\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/ee0bf0e59bb1c07c0196142f2ecfd88f7f8b194e"},{"sha":"ac6dc3894fbb6775245565229953879a0263d27f","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@gibson.dropbear.id.au","name":"David Gibson"},"message":"vfio: Generalize vfio_listener_region_add failure path\n\nIf a DMA mapping operation fails in vfio_listener_region_add() it\nchecks to see if we've already completed initial setup of the\ncontainer.  If so it reports an error so the setup code can fail\ngracefully, otherwise throws a hw_error().\n\nThere are other potential failure cases in vfio_listener_region_add()\nwhich could benefit from the same logic, so move it to its own\nfail: block.  Later patches can use this to extend other failure cases\nto fail as gracefully as possible under the circumstances.\n\nSigned-off-by: David Gibson <david@gibson.dropbear.id.au>\nReviewed-by: Thomas Huth <thuth@redhat.com>\nReviewed-by: Laurent Vivier <lvivier@redhat.com>\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/ac6dc3894fbb6775245565229953879a0263d27f"},{"sha":"3898aad323475cf19127d9fc0846954d591d8e11","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@gibson.dropbear.id.au","name":"David Gibson"},"message":"vfio: Check guest IOVA ranges against host IOMMU capabilities\n\nThe current vfio core code assumes that the host IOMMU is capable of\nmapping any IOVA the guest wants to use to where we need.  However, real\nIOMMUs generally only support translating a certain range of IOVAs (the\n\"DMA window\") not a full 64-bit address space.\n\nThe common x86 IOMMUs support a wide enough range that guests are very\nunlikely to go beyond it in practice, however the IOMMU used on IBM Power\nmachines - in the default configuration - supports only a much more limited\nIOVA range, usually 0..2GiB.\n\nIf the guest attempts to set up an IOVA range that the host IOMMU can't\nmap, qemu won't report an error until it actually attempts to map a bad\nIOVA.  If guest RAM is being mapped directly into the IOMMU (i.e. no guest\nvisible IOMMU) then this will show up very quickly.  If there is a guest\nvisible IOMMU, however, the problem might not show up until much later when\nthe guest actually attempt to DMA with an IOVA the host can't handle.\n\nThis patch adds a test so that we will detect earlier if the guest is\nattempting to use IOVA ranges that the host IOMMU won't be able to deal\nwith.\n\nFor now, we assume that \"Type1\" (x86) IOMMUs can support any IOVA, this is\nincorrect, but no worse than what we have already.  We can't do better for\nnow because the Type1 kernel interface doesn't tell us what IOVA range the\nIOMMU actually supports.\n\nFor the Power \"sPAPR TCE\" IOMMU, however, we can retrieve the supported\nIOVA range and validate guest IOVA ranges against it, and this patch does\nso.\n\nSigned-off-by: David Gibson <david@gibson.dropbear.id.au>\nReviewed-by: Laurent Vivier <lvivier@redhat.com>\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/3898aad323475cf19127d9fc0846954d591d8e11"},{"sha":"7a140a57c69293a2f19b045f40953a87879e8c76","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@gibson.dropbear.id.au","name":"David Gibson"},"message":"vfio: Record host IOMMU's available IO page sizes\n\nDepending on the host IOMMU type we determine and record the available page\nsizes for IOMMU translation.  We'll need this for other validation in\nfuture patches.\n\nSigned-off-by: David Gibson <david@gibson.dropbear.id.au>\nReviewed-by: Thomas Huth <thuth@redhat.com>\nReviewed-by: Laurent Vivier <lvivier@redhat.com>\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/7a140a57c69293a2f19b045f40953a87879e8c76"},{"sha":"a788f227ef7bd2912fcaacdfe13d13ece2998149","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@gibson.dropbear.id.au","name":"David Gibson"},"message":"memory: Allow replay of IOMMU mapping notifications\n\nWhen we have guest visible IOMMUs, we allow notifiers to be registered\nwhich will be informed of all changes to IOMMU mappings.  This is used by\nvfio to keep the host IOMMU mappings in sync with guest IOMMU mappings.\n\nHowever, unlike with a memory region listener, an iommu notifier won't be\ntold about any mappings which already exist in the (guest) IOMMU at the\ntime it is registered.  This can cause problems if hotplugging a VFIO\ndevice onto a guest bus which had existing guest IOMMU mappings, but didn't\npreviously have an VFIO devices (and hence no host IOMMU mappings).\n\nThis adds a memory_region_iommu_replay() function to handle this case.  It\nreplays any existing mappings in an IOMMU memory region to a specified\nnotifier.  Because the IOMMU memory region doesn't internally remember the\ngranularity of the guest IOMMU it has a small hack where the caller must\nspecify a granularity at which to replay mappings.\n\nIf there are finer mappings in the guest IOMMU these will be reported in\nthe iotlb structures passed to the notifier which it must handle (probably\ncausing it to flag an error).  This isn't new - the VFIO iommu notifier\nmust already handle notifications about guest IOMMU mappings too short\nfor it to represent in the host IOMMU.\n\nSigned-off-by: David Gibson <david@gibson.dropbear.id.au>\nReviewed-by: Laurent Vivier <lvivier@redhat.com>\nAcked-by: Paolo Bonzini <pbonzini@redhat.com>\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/a788f227ef7bd2912fcaacdfe13d13ece2998149"},{"sha":"508ce5eb00070809f0d19917a1b2960dfcf5a64b","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@gibson.dropbear.id.au","name":"David Gibson"},"message":"vfio: Allow hotplug of containers onto existing guest IOMMU mappings\n\nAt present the memory listener used by vfio to keep host IOMMU mappings\nin sync with the guest memory image assumes that if a guest IOMMU\nappears, then it has no existing mappings.\n\nThis may not be true if a VFIO device is hotplugged onto a guest bus\nwhich didn't previously include a VFIO device, and which has existing\nguest IOMMU mappings.\n\nTherefore, use the memory_region_register_iommu_notifier_replay()\nfunction in order to fix this case, replaying existing guest IOMMU\nmappings, bringing the host IOMMU into sync with the guest IOMMU.\n\nSigned-off-by: David Gibson <david@gibson.dropbear.id.au>\nSigned-off-by: Alex Williamson <alex.williamson@redhat.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/508ce5eb00070809f0d19917a1b2960dfcf5a64b"},{"sha":"eed2df678574f7f17947180a01127a8ba673a226","author":{"email":"313afa09ce093b19ae1dd74f57c1ebd94508584c@linaro.org","name":"Peter Maydell"},"message":"Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20151006' into staging\n\ns390: fixes\n\nSome fixes all over the place:\n- ccw bios and gcc 5.1 (avoid floating point ops)\n- properly print vector registers\n- sclp and sclp-event-facility no longer hang on object_unref(object_new(T))\n- better name for io_subsystem_reset\n\nOne feature\n- the gdb server now exposes several virtualization specific register\n\n# gpg: Signature made Tue 06 Oct 2015 11:20:24 BST using RSA key ID B5A61C7C\n# gpg: Good signature from \"Christian Borntraeger (IBM) <borntraeger@de.ibm.com>\"\n\n* remotes/borntraeger/tags/s390x-20151006:\n  s390x: rename io_subsystem_reset -> subsystem_reset\n  s390x/info registers: print vector registers properly\n  s390x: set missing parent for hotplug and quiesce events\n  s390x/gdb: expose virtualization specific registers\n  pc-bios/s390-ccw: avoid floating point operations\n\nSigned-off-by: Peter Maydell <peter.maydell@linaro.org>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/eed2df678574f7f17947180a01127a8ba673a226"},{"sha":"32532f215c49f005aaef942adfae34cbcc5fa678","author":{"email":"37852461ec08f94420c663824224090aed552843@linux.vnet.ibm.com","name":"Bharata B Rao"},"message":"pc-dimm: Fail realization for invalid nodes in non-NUMA config\n\npc_dimm_realize() validates the NUMA node to which memory hotplug is\nbeing performed only in case of NUMA configuration. Include a check to\nfail for invalid nodes in case of non-NUMA configuration too.\n\nSigned-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>\nReviewed-by: David Gibson <david@gibson.dropbear.id.au>\nReviewed-by: Igor Mammedov <imammedo@redhat.com>\nSigned-off-by: Eduardo Habkost <ehabkost@redhat.com>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/32532f215c49f005aaef942adfae34cbcc5fa678"},{"sha":"055130107683c3b199c1848a25e5e2c568230cbf","author":{"email":"aea4fd857e97ee7d33f60175ba9388a955b9d916@twiddle.net","name":"Richard Henderson"},"message":"target-tilegx: Tidy simd_helper.c\n\nUsing the V1 macro when we want to replicate a byte across\nthe 8 elements of the word.  Using deposit and extract for\nmanipulating specific elements.\n\nSigned-off-by: Richard Henderson <rth@twiddle.net>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/055130107683c3b199c1848a25e5e2c568230cbf"},{"sha":"0ab0a3d768a4f6ab6747b6fd936c5cf70b5069c2","author":{"email":"080e0242401949f8c1dfb399e414be816846daae@gmail.com","name":"Chen Gang"},"message":"target-tilegx: Implement v*shl, v*shru, and v*shrs instructions\n\nv2sh* are implemented with helper functions; v4sh* are implmeneted\nwith inline code.\n\nSigned-off-by: Chen Gang <gang.chen.5i5j@gmail.com>\nMessage-Id: <1442872055-2836-1-git-send-email-gang.chen.5i5j@gmail.com>\nSigned-off-by: Richard Henderson <rth@twiddle.net>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/0ab0a3d768a4f6ab6747b6fd936c5cf70b5069c2"},{"sha":"c6876d7e1c3ff04a9b9f751f6260bf427ab8cf1a","author":{"email":"080e0242401949f8c1dfb399e414be816846daae@gmail.com","name":"Chen Gang"},"message":"target-tilegx: Implement v*add and v*sub instructions\n\n[rth: Implement everything inline; handle v1addi and v2addi as well.]\n\nSigned-off-by: Chen Gang <gang.chen.5i5j@gmail.com>\nMessage-Id: <1442873918-3394-1-git-send-email-gang.chen.5i5j@gmail.com>\nSigned-off-by: Richard Henderson <rth@twiddle.net>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/c6876d7e1c3ff04a9b9f751f6260bf427ab8cf1a"},{"sha":"38c949ffe7497b1d833bca5f70b22c87df9bd567","author":{"email":"080e0242401949f8c1dfb399e414be816846daae@gmail.com","name":"Chen Gang"},"message":"target-tilegx: Implement v1multu instruction\n\nSigned-off-by: Chen Gang <gang.chen.5i5j@gmail.com>\nReviewed-by: Richard Henderson <rth@twiddle.net>\nMessage-Id: <1442874414-3578-1-git-send-email-gang.chen.5i5j@gmail.com>\nSigned-off-by: Richard Henderson <rth@twiddle.net>","distinct":false,"url":"https://api.github.com/repos/famz/qemu-patchew/commits/38c949ffe7497b1d833bca5f70b22c87df9bd567"}]}