{"push_id":972671310,"size":50,"distinct_size":16,"ref":"refs/heads/tcg-mips64","head":"316e493409f4d67bc0e88b0c5f7cced20220228f","before":"34b6503d9baa60d5cebdc09e85b4d644fad1f871","commits":[{"sha":"8bafcb21643a39a5b29109f8bd5ee5a6f0f6850b","author":{"email":"69d3ebcf5ee4e7f05a50dc23cd96655b730804b4@redhat.com","name":"Paolo Bonzini"},"message":"memory: add early bail out from cpu_physical_memory_set_dirty_range\n\nThis condition is true in the common case, so we can cut out the body of\nthe function.  In addition, this makes it easier for the compiler to do\nat least partial inlining, even if it decides that fully inlining the\nfunction is unreasonable.\n\nReviewed-by: Stefan Hajnoczi <stefanha@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/8bafcb21643a39a5b29109f8bd5ee5a6f0f6850b"},{"sha":"5b82b703b69acc67b78b98a5efc897a3912719eb","author":{"email":"484520986196e4a799496429ce8a499eb6488adb@redhat.com","name":"Stefan Hajnoczi"},"message":"memory: RCU ram_list.dirty_memory[] for safe RAM hotplug\n\nAlthough accesses to ram_list.dirty_memory[] use atomics so multiple\nthreads can safely dirty the bitmap, the data structure is not fully\nthread-safe yet.\n\nThis patch handles the RAM hotplug case where ram_list.dirty_memory[] is\ngrown.  ram_list.dirty_memory[] is change from a regular bitmap to an\nRCU array of pointers to fixed-size bitmap blocks.  Threads can continue\naccessing bitmap blocks while the array is being extended.  See the\ncomments in the code for an in-depth explanation of struct\nDirtyMemoryBlocks.\n\nI have tested that live migration with virtio-blk dataplane works.\n\nSigned-off-by: Stefan Hajnoczi <stefanha@redhat.com>\nMessage-Id: <1453728801-5398-2-git-send-email-stefanha@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/5b82b703b69acc67b78b98a5efc897a3912719eb"},{"sha":"34689e206abddac87a5217d458534e24f2a05562","author":{"email":"69d3ebcf5ee4e7f05a50dc23cd96655b730804b4@redhat.com","name":"Paolo Bonzini"},"message":"qemu-char: Keep pty slave file descriptor open until the master is closed\n\nIf a process opens the slave pts device, writes data to it, then\nimmediately closes it, the data doesn't reliably get delivered to the\nemulated serial port. This seems to be because a read of the master\npty device returns EIO on Linux if no process has the pts device open,\neven when data is waiting \"in the pipe\".\n\nA fix seems to be for QEMU to keep the pts file descriptor open until\nthe pty is closed, as per the below patch.\n\nSigned-off-by: Ashley Jonathan <jonathan.ashley@altran.com>\nMessage-Id: <AC19797808C8D548ABDE0CA4A97AA30A30DEB409@XMB-DCFR-37.europe.corp.altran.com>\nReviewed-by: Michael Tokarev <mjt@tls.msk.ru>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/34689e206abddac87a5217d458534e24f2a05562"},{"sha":"977a82ab56daac83623d730174f47d5a7edd73c9","author":{"email":"bb938cf255e055ff3507f2627d214e8e62118fcf@redhat.com","name":"Daniel P. Berrange"},"message":"configure: sanity check the glib library that pkg-config finds\n\nDevelopers on 64-bit machines will often try to perform a\n32-bit build of QEMU by running\n\n  ./configure --extra-cflags=\"-m32\"\n\nUnfortunately if PKG_CONFIG_LIBDIR is not set to point to\nthe location of the 32-bit pkg-config files, then configure\nwill silently pick up the 64-bit pkg-config files and still\nsucceed.\n\nThis causes a problem for glib because it means QEMU will\nbe pulling in /usr/lib64/glib-2.0/include/glibconfig.h\ninstead of /usr/lib/glib-2.0/include/glibconfig.h\n\nThis causes problems because the 'gsize' type (defined as\n'unsigned long') will no longer be fully compatible with\nthe 'size_t' type (defined as 'unsigned int'). Although\nboth are the same size, the compiler refuses to allow\ncasts from 'unsigned long *' to 'unsigned int *' as they\nare different pointer types. This results in non-obvious\ncompiler errors when building QEMU eg\n\nqga/commands-posix.c: In function â€˜qmp_guest_set_user_passwordâ€™:\nqga/commands-posix.c:1912:55: error: passing argument 2 of â€˜g_base64_decodeâ€™ from incompatible pointer type [-Werror=incompatible-pointer-types]\n     rawpasswddata = (char *)g_base64_decode(password, &rawpasswdlen);\n                                                            ^\nIn file included from /usr/include/glib-2.0/glib.h:35:0,\n                 from qga/commands-posix.c:14:\n/usr/include/glib-2.0/glib/gbase64.h:52:9: note: expected â€˜gsize * {aka long unsigned int *}â€™ but argument is of type â€˜size_t * {aka unsigned int *}â€™\n guchar *g_base64_decode         (const gchar  *text,\n         ^\ncc1: all warnings being treated as errors\n\nTo detect this problem, add a check to configure that\nverifies that GLIB_SIZEOF_SIZE_T matches sizeof(size_t).\nIf this fails print a warning suggesting that the dev\nprobably needs to set PKG_CONFIG_LIBDIR.\n\nOn Fedora x86_64 it passes with any of:\n\n # ./configure\n # PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig ./configure --extra-cflags=\"-m32\"\n # PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig ./configure --extra-cflags=\"-m64\"\n\nAnd fails with a mis-match\n\n # PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig ./configure --extra-cflags=\"-m32\"\n # PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig ./configure --extra-cflags=\"-m64\"\n\nERROR: sizeof(size_t) doesn't match GLIB_SIZEOF_SIZE_T.\n       You probably need to set PKG_CONFIG_LIBDIR\n       to point to the right pkg-config files for your\n       build target\n\nSigned-off-by: Daniel P. Berrange <berrange@redhat.com>\nMessage-Id: <1453885245-15562-1-git-send-email-berrange@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/977a82ab56daac83623d730174f47d5a7edd73c9"},{"sha":"a0aa44b488b3601415d55041e4619aef5f3a4ba8","author":{"email":"97ce1413105b2e68f811413f1ea07a68d9e5b40a@linaro.org","name":"Alex Bennée"},"message":"include/qemu/atomic.h: default to __atomic functions\n\nThe __atomic primitives have been available since GCC 4.7 and provide\na richer interface for describing memory ordering requirements. As a\nbonus by using the primitives instead of hand-rolled functions we can\nuse tools such as the ThreadSanitizer which need the use of well\ndefined APIs for its analysis.\n\nIf we have __ATOMIC defines we exclusively use the __atomic primitives\nfor all our atomic access. Otherwise we fall back to the mixture of\n__sync and hand-rolled barrier cases.\n\nSigned-off-by: Alex BennÃ©e <alex.bennee@linaro.org>\nMessage-Id: <1453976119-24372-4-git-send-email-alex.bennee@linaro.org>\n[Use __ATOMIC_SEQ_CST for atomic_mb_read/atomic_mb_set on !POWER. - Paolo]\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/a0aa44b488b3601415d55041e4619aef5f3a4ba8"},{"sha":"2ecab4084fa8b418f62d28bd310936d38ef6879b","author":{"email":"69d3ebcf5ee4e7f05a50dc23cd96655b730804b4@redhat.com","name":"Paolo Bonzini"},"message":"scsi: push WWN fields up to SCSIDevice\n\nSAS adapters need to access them in order to publish the SAS addresses\nof the end devices connected to them.\n\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/2ecab4084fa8b418f62d28bd310936d38ef6879b"},{"sha":"9fd7e85938e87ca52dcb1aeff34fa1675917831b","author":{"email":"69d3ebcf5ee4e7f05a50dc23cd96655b730804b4@redhat.com","name":"Paolo Bonzini"},"message":"scsi-generic: grab device and port SAS addresses from backend\n\nThis lets a SAS adapter expose them through its own configuration\nmechanism.\n\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/9fd7e85938e87ca52dcb1aeff34fa1675917831b"},{"sha":"e351b82611293683c4cabe4b69b7552bde5d4e2a","author":{"email":"69d3ebcf5ee4e7f05a50dc23cd96655b730804b4@redhat.com","name":"Paolo Bonzini"},"message":"hw: Add support for LSI SAS1068 (mptsas) device\n\nThis adds the SAS1068 device, a SAS disk controller used in VMware that\nis oldish but widely supported and has decent performance.  Unlike\nmegasas, it presents itself as a SAS controller and not as a RAID\ncontroller.  The device corresponds to the mptsas kernel driver in\nLinux.\n\nA few small things in the device setup are based on Don Slutz's old\npatch, but the device emulation was written from scratch based on Don's\nSeaBIOS patch and on the FreeBSD and Linux drivers.  It is 2400 lines\nshorter than Don's patch (and roughly the same size as MegaSAS---also\nbecause it doesn't support the similar SPI controller), implements SCSI\ntask management functions (with asynchronous cancellation), supports\nbig-endian hosts, has complete support for migration and follows the\nQEMU coding standards much more closely.\n\nTo write the driver, I first split Don's patch in two parts, with\nthe configuration bits in one file and the rest in a separate file.\nI first left mptconfig.c in place and rewrote the rest, then deleted\nmptconfig.c as well.  The configuration pages are still based mostly on\nVirtualBox's, though not exactly the same.  However, the implementation\nis completely different.  The contents of the pages themselves should\nnot be copyrightable.\n\nSigned-off-by: Don Slutz <Don@CloudSwitch.com>\nMessage-Id: <1347382813-5662-1-git-send-email-Don@CloudSwitch.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/e351b82611293683c4cabe4b69b7552bde5d4e2a"},{"sha":"b9dbb61757eb3606fd1c256bf9b5a257a0475fa1","author":{"email":"e18c5b5bfc46096909e8c59ff17640d7cfbe615a@yahoo.com","name":"Sitsofe Wheeler"},"message":"qemu-nbd: Fix unintended texi verbatim formatting\n\nIndented lines in the texi meant the perlpod produced interpreted the\nparagraph as being verbatim (thus formatting codes were not\ninterpreted). Fix this by un-indenting problem lines.\n\nSigned-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>\nMessage-Id: <1451979212-25479-2-git-send-email-sitsofe@yahoo.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/b9dbb61757eb3606fd1c256bf9b5a257a0475fa1"},{"sha":"7e8911bb40977aa831b04bbec23895b1f15db501","author":{"email":"e18c5b5bfc46096909e8c59ff17640d7cfbe615a@yahoo.com","name":"Sitsofe Wheeler"},"message":"qemu-nbd: Minor texi updates\n\n- Change some spacing.\n- Add disconnect usage to synopsis.\n- Highlight the command and its options in the synopsis.\n- Fix up the grammar in the description.\n- Move filename variable description out of the option table.\n- Add a description of the dev variable.\n- Remove duplicate entry for --format.\n- Reword --discard documentation.\n- Add --detect-zeroes documentation.\n- Add reference to qemu man page to see also section.\n\nSigned-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>\nMessage-Id: <1451979212-25479-3-git-send-email-sitsofe@yahoo.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/7e8911bb40977aa831b04bbec23895b1f15db501"},{"sha":"50901218457aebf2eb1c1cac560eb80df3f23b77","author":{"email":"e18c5b5bfc46096909e8c59ff17640d7cfbe615a@yahoo.com","name":"Sitsofe Wheeler"},"message":"qemu-nbd: Fix texi sentence capitalisation\n\nCapitalise the first letter of sentences (and reword for grammar) the\noptions section of qemu-nbd.texi.\n\nSigned-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>\nMessage-Id: <1451979212-25479-4-git-send-email-sitsofe@yahoo.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/50901218457aebf2eb1c1cac560eb80df3f23b77"},{"sha":"e3dd68df5287e544a41f77a162a02d08fbcb95ba","author":{"email":"68ce1cac038577dcf8b5415a93b0d78fb03aa4b6@linux.vnet.ibm.com","name":"Janosch Frank"},"message":"scripts/kvm/kvm_stat: Fix tracefs access checking\n\nOn kernels build without CONFIG_TRACING kvm_stat will bail out even\nwhen traces are not used. This is not very helpful, especially if the\nuser can't install a new kernel. Instead, we should warn the user and\nfall back to debugfs statistics.\n\nThese changes check if trace statistics were selected without kernel\nsupport, warn with a small timeout, set the debugfs statistics option\nto True and the tracefs one to False.\n\nFixes: 7aa4ee5 ('scripts/kvm/kvm_stat: Improve debugfs access checking')\nSigned-off-by: Janosch Frank <frankja@linux.vnet.ibm.com>\nMessage-Id: <1454485291-43849-2-git-send-email-frankja@linux.vnet.ibm.com>\n[Exit if -t is passed explicitly. - Paolo]\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/e3dd68df5287e544a41f77a162a02d08fbcb95ba"},{"sha":"667ad26ff8b0e4cabba67322b5e4c35c0b6c4eb8","author":{"email":"624c376396b1be97fa9f2557aab38fb7d8603d8b@redhat.com","name":"John Snow"},"message":"nbd: avoid unaligned uint64_t store\n\ncpu_to_be64w can't be used to make unaligned stores, but stq_be_p can.\nAlso, the st?_be_p takes a void* so it is more clearly suited to the\ncase where you're writing into a byte buffer.\n\nUse the st?_be_p family of functions everywhere in nbd/server.c.\n\nSigned-off-by: John Snow <jsnow@redhat.com>\n[Changed to use st?_be_p everywhere. - Paolo]\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/667ad26ff8b0e4cabba67322b5e4c35c0b6c4eb8"},{"sha":"844a3d34d684491b9a483a2d19f801f5b03f5569","author":{"email":"20ca6a98b2289e315ee985b8cb9cb36522e95d55@redhat.com","name":"Andrew Jones"},"message":"kvm-all: trace: strerror fixup\n\nSigned-off-by: Andrew Jones <drjones@redhat.com>\nMessage-Id: <1454355464-14999-1-git-send-email-drjones@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/844a3d34d684491b9a483a2d19f801f5b03f5569"},{"sha":"1e94f23d82d78a26e7e7cd95502fe31dc5668762","author":{"email":"bb938cf255e055ff3507f2627d214e8e62118fcf@redhat.com","name":"Daniel P. Berrange"},"message":"char: fix repeated registration of tcp chardev I/O handlers\n\nIn previous commit:\n\n  commit f2001a7e0555b66d6db25a3ff1801540814045bb\n  Author: Daniel P. Berrange <berrange@redhat.com>\n  Date:   Tue Jan 19 11:14:30 2016 +0000\n\n    char: don't assume telnet initialization will not block\n\nThe code which writes the telnet initialization sequence moved\nto an event loop callback. If the TCP chardev is opened as a\nserver in blocking mode (ie -serial telnet:0.0.0.0:3000,server,wait)\nthis results in a state where the TCP chardev is connected, but not\nyet ready to send/recv data when virtual hardware is created.\n\nWhen the virtual hardware initialization registers its chardev\ncallbacks, it triggers tcp_chr_update_read_handler, which will\nadd I/O watches to the connection.\n\nWhen the telnet initialization finally runs, it will then call\ntcp_chr_connect to finish the connection setup. This will in\nturn add I/O watches to the connection too.\n\nThere are now two sets of I/O watches registered on the same\nconnection. This ultimately causes data loss on the connection,\nfor example, when typing into the telnet console only every\nsecond byte is echoed back to the client.\n\nThe same flaw can affect channels running with TLS encryption\ntoo, since they also have delayed connection setup completion.\n\nThe fix is to update tcp_chr_update_read_handler so that it\navoids registering watches if the connection is not fully\nsetup yet.\n\nSigned-off-by: Daniel P. Berrange <berrange@redhat.com>\nMessage-Id: <1454939707-10869-1-git-send-email-berrange@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/1e94f23d82d78a26e7e7cd95502fe31dc5668762"},{"sha":"ca2f29f555805d07fb0b9ebfbbfc4e3656530977","author":{"email":"aea4fd857e97ee7d33f60175ba9388a955b9d916@twiddle.net","name":"Richard Henderson"},"message":"target-i386: Create gen_lea_v_seg\n\nAdd forgotten zero-extension in the TARGET_X86_64, !CODE64, ss32 case;\nuse this new function to implement gen_string_movl_A0_EDI,\ngen_string_movl_A0_ESI, gen_add_A0_ds_seg.\n\nSigned-off-by: Richard Henderson <rth@twiddle.net>\nMessage-Id: <1450379966-28198-2-git-send-email-rth@twiddle.net>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/ca2f29f555805d07fb0b9ebfbbfc4e3656530977"},{"sha":"64ae256c2450262e27f07657c5734d3197458d95","author":{"email":"aea4fd857e97ee7d33f60175ba9388a955b9d916@twiddle.net","name":"Richard Henderson"},"message":"target-i386: Introduce mo_stacksize\n\nCentralize computation of a MO_SIZE for the stack pointer.\n\nSigned-off-by: Richard Henderson <rth@twiddle.net>\nMessage-Id: <1450379966-28198-3-git-send-email-rth@twiddle.net>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/64ae256c2450262e27f07657c5734d3197458d95"},{"sha":"d6a2914984c89fa0a3125b9842e0cbf68de79a3d","author":{"email":"aea4fd857e97ee7d33f60175ba9388a955b9d916@twiddle.net","name":"Richard Henderson"},"message":"target-i386: Use gen_lea_v_seg in gen_lea_modrm\n\nCentralize handling of segment bases.\n\nSigned-off-by: Richard Henderson <rth@twiddle.net>\nMessage-Id: <1450379966-28198-4-git-send-email-rth@twiddle.net>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/d6a2914984c89fa0a3125b9842e0cbf68de79a3d"},{"sha":"77ebcad04f3659fa7eb799928fdd68280fac720d","author":{"email":"aea4fd857e97ee7d33f60175ba9388a955b9d916@twiddle.net","name":"Richard Henderson"},"message":"target-i386: Use gen_lea_v_seg in stack subroutines\n\nI.e. gen_push_v, gen_pop_T0, gen_stack_A0.\nMore centralization of handling of segment bases.\n\nSigned-off-by: Richard Henderson <rth@twiddle.net>\nMessage-Id: <1450379966-28198-5-git-send-email-rth@twiddle.net>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/77ebcad04f3659fa7eb799928fdd68280fac720d"},{"sha":"3558f8055f37a34762b7a2a0f02687e6eeab893d","author":{"email":"aea4fd857e97ee7d33f60175ba9388a955b9d916@twiddle.net","name":"Richard Henderson"},"message":"target-i386: Access segs via TCG registers\n\nHaving segs[].base as a register significantly improves code\ngeneration for real and protected modes, particularly for TBs\nthat have multiple memory references where the segment base\ncan be held in a hard register through the TB.\n\nReviewed-by: Peter Maydell <peter.maydell@linaro.org>\nSigned-off-by: Richard Henderson <rth@twiddle.net>\nMessage-Id: <1450379966-28198-6-git-send-email-rth@twiddle.net>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/rth7680/qemu/commits/3558f8055f37a34762b7a2a0f02687e6eeab893d"}]}