Branch: refs/heads/master Home: https://github.com/qemu/qemu Commit: 2879636d55312b5391ec46c7dee5d3a07714c222 https://github.com/qemu/qemu/commit/2879636d55312b5391ec46c7dee5d3a07714c222 Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2012-09-11 (Tue, 11 Sep 2012)
Changed paths: M scripts/update-linux-headers.sh Log Message: ----------- update-linux-headers.sh: Don't hard code list of architectures Rather than hardcoding the list of architectures in the kernel header update script, just import headers for every architecture which supports KVM (with a blacklist exception for ia64 which has KVM headers but is dead). This reduces the number of QEMU files which need to be updated to add support for a new KVM architecture. Acked-by: Jan Kiszka <jan.kis...@siemens.com> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> Commit: 8732fbd2afce18afc429da2ad76df7c48b4bac4b https://github.com/qemu/qemu/commit/8732fbd2afce18afc429da2ad76df7c48b4bac4b Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M kvm-all.c Log Message: ----------- kvm-all.c: Move init of irqchip_inject_ioctl out of kvm_irqchip_create() Move the init of the irqchip_inject_ioctl field of KVMState out of kvm_irqchip_create() and into kvm_init(), so that kvm_set_irq() can be used even when no irqchip is created (for architectures that support async interrupt notification even without an in kernel irqchip). Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> Commit: d410515e035ccb7433c6a3a8157742f6f679f57f https://github.com/qemu/qemu/commit/d410515e035ccb7433c6a3a8157742f6f679f57f Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M memory.c M memory.h Log Message: ----------- memory: Flush coalesced MMIO on selected region access Instead of flushing pending coalesced MMIO requests on every vmexit, this provides a mechanism to selectively flush when memory regions related to the coalesced one are accessed. This first of all includes the coalesced region itself but can also applied to other regions, e.g. of the same device, by calling memory_region_set_flush_coalesced. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> Commit: 59023ef41179f61bfc1e2500c406ad28d046b09d https://github.com/qemu/qemu/commit/59023ef41179f61bfc1e2500c406ad28d046b09d Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M memory.c Log Message: ----------- memory: Use transaction_begin/commit also for single-step operations Wrap also simple operations consisting only of a single step with memory_region_transaction_begin/commit. This allows to perform additional steps like coalesced MMIO flushing from a single place. This requires dropping some micro-optimizations: The skipping of topology updates after updating disabled or unregistered regions. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> Commit: 02e2b95fb4bcf8b0a512c5eb449cfb9a1ea3d3b7 https://github.com/qemu/qemu/commit/02e2b95fb4bcf8b0a512c5eb449cfb9a1ea3d3b7 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M memory.c Log Message: ----------- memory: Fold memory_region_update_topology into memory_region_transaction_commit Simplify the code as we are using now only a subset of the original features of memory_region_update_topology. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> Commit: bb880ded7a6a77b2a7818e6302ac55fbd9ba5e86 https://github.com/qemu/qemu/commit/bb880ded7a6a77b2a7818e6302ac55fbd9ba5e86 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M memory.c Log Message: ----------- memory: Flush coalesced MMIO on mapping and state changes Flush pending coalesced MMIO before performing mapping or state changes that could affect the event orderings or route the buffered requests to a wrong region. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> Commit: bd8f2f5d7034172a53c5a5b229613761f3297493 https://github.com/qemu/qemu/commit/bd8f2f5d7034172a53c5a5b229613761f3297493 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M hw/cirrus_vga.c M hw/qxl.c M hw/vga-isa-mm.c M hw/vga.c M hw/vmware_vga.c Log Message: ----------- VGA: Flush coalesced MMIO on related MMIO/PIO accesses In preparation of stopping to flush coalesced MMIO unconditionally on vmexits, mark VGA MMIO and PIO regions as synchronous /wrt coalesced MMIO and flush the buffer explicitly on PIO accesses that do not use generic memory regions yet. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> Commit: 683d4b5d9f46f7453271577ad0212b67bdd9cb1b https://github.com/qemu/qemu/commit/683d4b5d9f46f7453271577ad0212b67bdd9cb1b Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M kvm-all.c Log Message: ----------- kvm: Stop flushing coalesced MMIO on vmexit The memory subsystem will now take care of flushing whenever affected regions are accessed or the memory mapping changes. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> Commit: e333cd694920f056573083c6d38fbdf0238c390d https://github.com/qemu/qemu/commit/e333cd694920f056573083c6d38fbdf0238c390d Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M kvm-all.c Log Message: ----------- kvm: Rename irqchip_inject_ioctl to irq_set_ioctl This variable is no longer bound to irqchip, and the IOCTL sets the IRQ level, does not directly inject it. No functional changes. Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> Commit: b1af98ba3e4c4fd44f233fc7240df2612baeb1c2 https://github.com/qemu/qemu/commit/b1af98ba3e4c4fd44f233fc7240df2612baeb1c2 Author: Gerd Hoffmann <kra...@redhat.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M hw/qxl.c M ui/spice-display.c M ui/spice-display.h Log Message: ----------- spice: switch to queue for vga mode updates Signed-off-by: Gerd Hoffmann <kra...@redhat.com> Commit: c60319a3aa136769e38ea8b24e91fb4867c4587d https://github.com/qemu/qemu/commit/c60319a3aa136769e38ea8b24e91fb4867c4587d Author: Gerd Hoffmann <kra...@redhat.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M ui/spice-display.c Log Message: ----------- spice: split qemu_spice_create_update Creating one function which creates a single update for a given rectangle. And one (for now) pretty simple wrapper around it to queue up screen updates for the dirty region. [ v2: also update bounding box ] Signed-off-by: Gerd Hoffmann <kra...@redhat.com> Commit: a7310dd34df4d35a1c3e7ea3f4a94c60f6d5064b https://github.com/qemu/qemu/commit/a7310dd34df4d35a1c3e7ea3f4a94c60f6d5064b Author: Gerd Hoffmann <kra...@redhat.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M ui/spice-display.c M ui/spice-display.h Log Message: ----------- spice: add screen mirror Create a screen mirror, keep there a copy of the most recent update passed on to spice-server. Signed-off-by: Gerd Hoffmann <kra...@redhat.com> Commit: b021bd29835b0367d499e042f76afbbf4b6ee026 https://github.com/qemu/qemu/commit/b021bd29835b0367d499e042f76afbbf4b6ee026 Author: Gerd Hoffmann <kra...@redhat.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M ui/spice-display.c Log Message: ----------- spice: send updates only for changed screen content when creating screen updates go compare the current guest screen against the mirror (which holds the most recent update sent), then only create updates for the screen areas which did actually change. [ v2: drop redundant qemu_spice_create_one_update call ] Signed-off-by: Gerd Hoffmann <kra...@redhat.com> Commit: ccc2960d654a233a6ed415b37d8ff41728d817c5 https://github.com/qemu/qemu/commit/ccc2960d654a233a6ed415b37d8ff41728d817c5 Author: Dunrong Huang <riegama...@gmail.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M hw/qxl.c Log Message: ----------- qxl: dont update invalid area This patch fixes the following error: $ ~/usr/bin/qemu-system-x86_64 -enable-kvm -m 1024 -spice port=5900,disable-ticketing -vga qxl -cdrom ~/Images/linuxmint-13-mate-dvd-32bit.iso (/home/mathslinux/usr/bin/qemu-system-x86_64:10068): SpiceWorker-CRITICAL **: red_worker.c:4599:red_update_area: condition `area->left >= 0 && area->top >= 0 && area->left < area->right && area->top < area->bottom' failed Aborted spice server terminates QEMU process if we pass invalid area to it, so dont update those invalid areas. Signed-off-by: Dunrong Huang <riegama...@gmail.com> Signed-off-by: Gerd Hoffmann <kra...@redhat.com> Commit: ab902981cf4d46834d82eb095f2b9ab159e017bf https://github.com/qemu/qemu/commit/ab902981cf4d46834d82eb095f2b9ab159e017bf Author: Hans de Goede <hdego...@redhat.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M hw/qxl.c Log Message: ----------- qxl: Ignore set_client_capabilities pre/post migrate The recent introduction of set_client_capabilities has broken (seamless) migration by trying to call qxl_send_events pre (seamless incoming) and post (*) migration, triggering the following assert: qxl_send_events: Assertion `qemu_spice_display_is_running(&d->ssd)' failed. The solution is easy, pre migration the guest will have already received the client caps on the migration source side, and post migration there no longer is a guest, so we can simply ignore the set_client_capabilities call in both those scenarios. *) Post migration, so not fatal for to the migration itself, but still a crash Signed-off-by: Hans de Goede <hdego...@redhat.com> Signed-off-by: Gerd Hoffmann <kra...@redhat.com> Commit: 753b8b0d77ba1b343a35f9679cc777ea10a62bba https://github.com/qemu/qemu/commit/753b8b0d77ba1b343a35f9679cc777ea10a62bba Author: Uri Lublin <u...@redhat.com> Date: 2012-09-11 (Tue, 11 Sep 2012) Changed paths: M hw/qxl.c Log Message: ----------- qxl: better cleanup for surface destroy Add back a call to qxl_spice_destroy_surface_wait_complete() in qxl_spice_destroy_surface_wait(), that was removed by commit c480bb7da465186b84d8427e068ef7502e47ffbf It is needed to complete surface-removal cleanup, for non async. For async, qxl_spice_destroy_surface_wait_complete is called upon operation completion. Signed-off-by: Uri Lublin <u...@redhat.com> Signed-off-by: Gerd Hoffmann <kra...@redhat.com> Commit: 1f7a48de4467f31afc51169122453318efdb0f33 https://github.com/qemu/qemu/commit/1f7a48de4467f31afc51169122453318efdb0f33 Author: MORITA Kazutaka <morita.kazut...@lab.ntt.co.jp> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M block/sheepdog.c Log Message: ----------- sheepdog: fix savevm and loadvm This patch sets data to be sent to Sheepdog correctly and fixes savevm and loadvm operations on a Sheepdog image. Signed-off-by: MORITA Kazutaka <morita.kazut...@lab.ntt.co.jp> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: ce560dcf20c14194db5ef3b9fc1ea592d4e68109 https://github.com/qemu/qemu/commit/ce560dcf20c14194db5ef3b9fc1ea592d4e68109 Author: Ronnie Sahlberg <ronniesahlb...@gmail.com> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M hw/ide/atapi.c Log Message: ----------- ATAPI: STARTSTOPUNIT only eject/load media if powercondition is 0 The START STOP UNIT command will only eject/load media if power condition is zero. If power condition is !0 then LOEJ and START will be ignored. >From MMC (sbc contains similar wordings too) The Power Conditions field requests the block device to be placed in the power condition defined in Table 558. If this field has a value other than 0h then the Start and LoEj bits shall be ignored. Signed-off-by: Ronnie Sahlberg <ronniesahlb...@gmail.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: 1e53537fdaa4657d11f130a0f2673fcfb1956381 https://github.com/qemu/qemu/commit/1e53537fdaa4657d11f130a0f2673fcfb1956381 Author: Stefan Weil <s...@weilnetz.de> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M hw/ide/core.c Log Message: ----------- ide: Fix error messages from static code analysis (no real error) Report from smatch: hw/ide/core.c:1472 ide_exec_cmd(423) error: buffer overflow 'smart_attributes' 8 <= 29 hw/ide/core.c:1474 ide_exec_cmd(425) error: buffer overflow 'smart_attributes' 8 <= 29 hw/ide/core.c:1475 ide_exec_cmd(426) error: buffer overflow 'smart_attributes' 8 <= 29 ... The upper limit of 30 was never reached because both for loops terminated when 'smart_attributes' reached end of list, so there was no real buffer overflow. Nevertheless, changing the code not only fixes the error report, but also reduces the size of smart_attributes and simplifies the for loops. Signed-off-by: Stefan Weil <s...@weilnetz.de> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: 45724d6d02383b0d7d4a90e05787fca7c55cb070 https://github.com/qemu/qemu/commit/45724d6d02383b0d7d4a90e05787fca7c55cb070 Author: Stefan Weil <s...@weilnetz.de> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M block/curl.c Log Message: ----------- block/curl: Fix wrong free statement Report from smatch: block/curl.c:546 curl_close(21) info: redundant null check on s->url calling free() The check was redundant, and free was also wrong because the memory was allocated using g_strdup. Signed-off-by: Stefan Weil <s...@weilnetz.de> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: 514f21a5d4613e495adc2e2dd48f18091454efb8 https://github.com/qemu/qemu/commit/514f21a5d4613e495adc2e2dd48f18091454efb8 Author: Stefan Weil <s...@weilnetz.de> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M block/vdi.c Log Message: ----------- vdi: Fix warning from clang ccc-analyzer reports these warnings: block/vdi.c:704:13: warning: Dereference of null pointer bmap[i] = VDI_UNALLOCATED; ^ block/vdi.c:702:13: warning: Dereference of null pointer bmap[i] = i; ^ Moving some code into the if block fixes this. It also avoids calling function write with 0 bytes of data. Signed-off-by: Stefan Weil <s...@weilnetz.de> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: 9ca111544c64b5abed2e79cf52e19a8f227b347b https://github.com/qemu/qemu/commit/9ca111544c64b5abed2e79cf52e19a8f227b347b Author: Pavel Hrdina <phrd...@redhat.com> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M block.c Log Message: ----------- block: fix block tray status The tray status should change also if you eject empty block device. Signed-off-by: Pavel Hrdina <phrd...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: 2a4f4f34e6fe55f4c82507c3e7ec9b58c2e24ad4 https://github.com/qemu/qemu/commit/2a4f4f34e6fe55f4c82507c3e7ec9b58c2e24ad4 Author: Jason Baron <jba...@redhat.com> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M hw/ide/ahci.c Log Message: ----------- ahci: properly reset PxCMD on HBA reset While testing q35, I found that windows 7 (specifically, windows 7 ultimate with sp1 x64), wouldn't install because it can't find the cdrom or disk drive. The failure message is: 'A required cd/dvd device driver is missing. If you have a driver floppy disk, CD, DVD, or USB flash drive, please insert it now.' This can also be reproduced on piix by adding an ahci controller, and observing that windows 7 does not see any devices behind it. The problem is that when windows issues a HBA reset, qemu does not reset the individual ports' PxCMD register. Windows 7 then reads back the PxCMD register and presumably assumes that the ahci controller has already been initialized. Windows then never sets up the PxIE register to enable interrupts, and thus it never gets irqs back when it sends ata device inquiry commands. This change brings qemu into ahci 1.3 specification compliance. Section 10.4.3 HBA Reset: " When GHC.HR is set to '1', GHC.AE, GHC.IE, the IS register, and all port register fields (except PxFB/PxFBU/PxCLB/PxCLBU) that are not HwInit in the HBA's register memory space are reset. " I've also re-tested Fedora 16 and 17 to verify that they continue to work with this change. Signed-off-by: Jason Baron <jba...@redhat.com> Acked-by: Alexander Graf <ag...@suse.de> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: c249ee682542ff3b8c310c78be67e3e713fd61d7 https://github.com/qemu/qemu/commit/c249ee682542ff3b8c310c78be67e3e713fd61d7 Author: Benoît Canet <ben...@irqsave.net> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M qapi-schema.json Log Message: ----------- qapi: Add SnapshotInfo and ImageInfo. Signed-off-by: Benoit Canet <ben...@irqsave.net> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: c054b3fd78f28b12f4d066583fc0ade017752479 https://github.com/qemu/qemu/commit/c054b3fd78f28b12f4d066583fc0ade017752479 Author: Benoît Canet <ben...@irqsave.net> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M Makefile M qemu-img-cmds.hx M qemu-img.c M qemu-img.texi Log Message: ----------- qemu-img: Add json output option to the info command. This option --output=[human|json] make qemu-img info output on human or JSON representation at the choice of the user. example: { "snapshots": [ { "vm-clock-nsec": 637102488, "name": "vm-20120821145509", "date-sec": 1345553709, "date-nsec": 220289000, "vm-clock-sec": 20, "id": "1", "vm-state-size": 96522745 }, { "vm-clock-nsec": 28210866, "name": "vm-20120821154059", "date-sec": 1345556459, "date-nsec": 171392000, "vm-clock-sec": 46, "id": "2", "vm-state-size": 101208714 } ], "virtual-size": 1073741824, "filename": "snap.qcow2", "cluster-size": 65536, "format": "qcow2", "actual-size": 985587712, "dirty-flag": false } Signed-off-by: Benoit Canet <ben...@irqsave.net> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: f0536bb848ad6eb2709a7dc675f261bd160c751b https://github.com/qemu/qemu/commit/f0536bb848ad6eb2709a7dc675f261bd160c751b Author: Daniel P. Berrange <berra...@redhat.com> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M qemu-img.c Log Message: ----------- Don't require encryption password for 'qemu-img info' command The encryption password is only required if I/O is going to be performed on a disk image. The 'qemu-img info' command merely reports metadata, so it should not ask for a decryption password Signed-off-by: Daniel P. Berrange <berra...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: fe235a06e1e008dedd2ac3cc0a3a655169ce9b33 https://github.com/qemu/qemu/commit/fe235a06e1e008dedd2ac3cc0a3a655169ce9b33 Author: Dunrong Huang <riegama...@gmail.com> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M block.c Log Message: ----------- block: Don't forget to delete temporary file The caller would not delete temporary file after failed get_tmp_filename(). Signed-off-by: Dunrong Huang <riegama...@gmail.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: 917ae08ca1565aab2d10c8b6269cd905d6c5c05b https://github.com/qemu/qemu/commit/917ae08ca1565aab2d10c8b6269cd905d6c5c05b Author: Alon Levy <al...@redhat.com> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M hw/qxl.c M trace-events Log Message: ----------- hw/qxl: tracing fixes Add two new trace events: qxl_send_events(int qid, uint32_t events) "%d %d" qxl_set_guest_bug(int qid) "%d" Change qxl_io_unexpected_vga_mode parameters to be equivalent to those of qxl_io_write for easier grouping under a single systemtap probe. Change d to qxl in one place. Signed-off-by: Alon Levy <al...@redhat.com> Signed-off-by: Gerd Hoffmann <kra...@redhat.com> Commit: 1a1bc08568b3fc3d893cab774806cdcedfe1b60b https://github.com/qemu/qemu/commit/1a1bc08568b3fc3d893cab774806cdcedfe1b60b Author: Alon Levy <al...@redhat.com> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M hw/qxl.c M trace-events Log Message: ----------- qxl: add trace-event for QXL_IO_LOG Signed-off-by: Alon Levy <al...@redhat.com> Signed-off-by: Gerd Hoffmann <kra...@redhat.com> Commit: a639ab0482952c13c896f3e555d717caf98f138b https://github.com/qemu/qemu/commit/a639ab0482952c13c896f3e555d717caf98f138b Author: Alon Levy <al...@redhat.com> Date: 2012-09-12 (Wed, 12 Sep 2012) Changed paths: M configure M hw/qxl.c M trace-events Log Message: ----------- hw/qxl: support client monitor configuration via device Until now we used only the agent to change the monitor count and each monitor resolution. This patch introduces the qemu part of using the device as the mediator instead of the agent via virtio-serial. Spice (>=0.11.5) calls the new QXLInterface::client_monitors_config, which returns wether the interrupt is enabled, and if so and given a non NULL monitors config will generate an interrupt QXL_INTERRUPT_CLIENT_MONITORS_CONFIG with crc checksum for the guest to verify a second call hasn't interfered. The maximal number of monitors is limited on the QXLRom to 64. Signed-off-by: Alon Levy <al...@redhat.com> Signed-off-by: Gerd Hoffmann <kra...@redhat.com> Commit: c4d12a743c73a5b88a8705ca68ff620ce0f8bba7 https://github.com/qemu/qemu/commit/c4d12a743c73a5b88a8705ca68ff620ce0f8bba7 Author: Stefan Weil <s...@weilnetz.de> Date: 2012-09-13 (Thu, 13 Sep 2012) Changed paths: M slirp/tcp_subr.c Log Message: ----------- slirp: Remove wrong type casts ins debug statements The type casts of pointers to long are not allowed when sizeof(pointer) != sizeof(long). Signed-off-by: Stefan Weil <s...@weilnetz.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: e56afbc54a2132c56931f44bae1992c28119944f https://github.com/qemu/qemu/commit/e56afbc54a2132c56931f44bae1992c28119944f Author: Stefan Weil <s...@weilnetz.de> Date: 2012-09-13 (Thu, 13 Sep 2012) Changed paths: M slirp/tcp_subr.c Log Message: ----------- slirp: Fix error reported by static code analysis Report from smatch: slirp/tcp_subr.c:127 tcp_respond(17) error: we previously assumed 'tp' could be null (see line 124) Return if 'tp' is NULL. Signed-off-by: Stefan Weil <s...@weilnetz.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 78be056628c76ff73eedeade86fde44b97343c79 https://github.com/qemu/qemu/commit/78be056628c76ff73eedeade86fde44b97343c79 Author: Hervé Poussineau <hpous...@reactos.org> Date: 2012-09-13 (Thu, 13 Sep 2012) Changed paths: M slirp/tftp.c M slirp/tftp.h Log Message: ----------- slirp: improve TFTP performance When transferring a file, keep it open during the whole transfer, instead of opening/closing it for each block. Signed-off-by: Hervé Poussineau <hpous...@reactos.org> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 4aa401f39e048e71020cceb59f126ab941095a42 https://github.com/qemu/qemu/commit/4aa401f39e048e71020cceb59f126ab941095a42 Author: Hervé Poussineau <hpous...@reactos.org> Date: 2012-09-13 (Thu, 13 Sep 2012) Changed paths: M slirp/tftp.c M slirp/tftp.h Log Message: ----------- slirp: Handle more than 65535 blocks in TFTP transfers RFC 1350 does not mention block count roll-over. However, a lot of TFTP servers implement it to be able to transmit big files, so do it also. Current block size is 512 bytes, so TFTP files were limited to 32 MB. Signed-off-by: Hervé Poussineau <hpous...@reactos.org> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: eb7faf0e3a45b0a0089035f972080ca4bd2e15ce https://github.com/qemu/qemu/commit/eb7faf0e3a45b0a0089035f972080ca4bd2e15ce Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2012-09-13 (Thu, 13 Sep 2012) Changed paths: M slirp/tftp.c Log Message: ----------- slirp: Remove unused return value of tftp_send_next_block No caller actually makes use of this value, so let's simplify the code. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 95b1ad7ad86793c27ab8e9987be69571937900d1 https://github.com/qemu/qemu/commit/95b1ad7ad86793c27ab8e9987be69571937900d1 Author: Hervé Poussineau <hpous...@reactos.org> Date: 2012-09-13 (Thu, 13 Sep 2012) Changed paths: M slirp/tftp.c Log Message: ----------- slirp: Implement TFTP Blocksize option This option is described in RFC 1783. As this is only an optional field, we may ignore it in some situations and handle it in some others. However, MS Windows 2003 PXE boot client requests a block size of the MTU (most of the times 1472 bytes), and doesn't work if the option is not acknowledged (with whatever value). According to the RFC 1783, we cannot acknowledge the option with a bigger value than the requested one. As current implementation is using 512 bytes by block, accept the option with a value of 512 if the option was specified, and don't acknowledge it if it is not present or less than 512 bytes. Signed-off-by: Hervé Poussineau <hpous...@reactos.org> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 93d3ad2a8048469d2b2bb157697425b66b2a37aa https://github.com/qemu/qemu/commit/93d3ad2a8048469d2b2bb157697425b66b2a37aa Author: Stefan Weil <s...@weilnetz.de> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M hw/srp.h Log Message: ----------- srp: Don't use QEMU_PACKED for single elements of a structured type QEMU_PACKED results in a MinGW compiler warning when it is used for single structure elements: warning: 'gcc_struct' attribute ignored Using QEMU_PACKED for the whole structure avoids the compiler warning without changing the memory layout. Signed-off-by: Stefan Weil <s...@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 0546b8c2f089867cd7606ff47e026e8931157828 https://github.com/qemu/qemu/commit/0546b8c2f089867cd7606ff47e026e8931157828 Author: Stefan Weil <s...@weilnetz.de> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M docs/specs/ppc-spapr-hcalls.txt M docs/usb2.txt M hw/xen_pt.h M hw/xen_pt_config_init.c M qemu-img.c M qemu-img.texi Log Message: ----------- Spelling fixes in comments and documentation These wrong spellings were detected by codespell: * successully -> successfully * alot -> a lot * wanna -> want to * infomation -> information * occured -> occurred ["also is" -> "is also" and "ressources" -> "resources" suggested by Peter Maydell <peter.mayd...@linaro.org>] Signed-off-by: Stefan Weil <s...@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: aade7b91d5afce84b1328f0dbbc77452bde00d1f https://github.com/qemu/qemu/commit/aade7b91d5afce84b1328f0dbbc77452bde00d1f Author: Stefan Weil <s...@weilnetz.de> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M hw/imx_avic.c M hw/imx_timer.c M hw/kzm.c Log Message: ----------- Fix spelling (licenced -> licensed) in GPL The patch also fixes the case of "written". Signed-off-by: Stefan Weil <s...@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 52a8e968a325f5dbbdceba06aaad2ac94f30da37 https://github.com/qemu/qemu/commit/52a8e968a325f5dbbdceba06aaad2ac94f30da37 Author: Stefan Weil <s...@weilnetz.de> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M hw/xen-host-pci-device.c Log Message: ----------- Spelling fixes in comments and macro names (ressource -> resource) Macro XEN_HOST_PCI_RESOURCE_BUFFER_SIZE is only used locally, so the change should be safe. Signed-off-by: Stefan Weil <s...@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 4580c490107ec846fb1ec63be823cf65dbb19f73 https://github.com/qemu/qemu/commit/4580c490107ec846fb1ec63be823cf65dbb19f73 Author: Stefan Weil <s...@weilnetz.de> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M ui/spice-display.c Log Message: ----------- ui: Fix spelling in comment (ressource -> resource) The function is called interface_release_resource. Signed-off-by: Stefan Weil <s...@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 7b1532eccf63eae318f9116adfd4cc2ba51e31fd https://github.com/qemu/qemu/commit/7b1532eccf63eae318f9116adfd4cc2ba51e31fd Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M linux-user/main.c Log Message: ----------- linux-user: Remove #if 0'd cpu_get_real_ticks() definition Remove the cpu_get_real_ticks() definition from linux-user/main.c. This has been disabled via #if 0 and unused since commit 1dce7c3c22 in 2006; the definitions we actually use are in qemu-timer.h. Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 1a7e8cae4bfd99beca9103de188440afda6c002a https://github.com/qemu/qemu/commit/1a7e8cae4bfd99beca9103de188440afda6c002a Author: BALATON Zoltan <bala...@eik.bme.hu> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M memory.h Log Message: ----------- Fix copy&paste typos in documentation comments Signed-off-by: BALATON Zoltan <bala...@eik.bme.hu> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: feadf1a4de0d7468ffb671a2b9f681925469fa58 https://github.com/qemu/qemu/commit/feadf1a4de0d7468ffb671a2b9f681925469fa58 Author: BALATON Zoltan <bala...@eik.bme.hu> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M console.c Log Message: ----------- console: Clean up bytes per pixel calculation Division with round up is the correct way to compute this even if the only case where division with round down gives incorrect result is probably 15 bpp. This case was explicitely patched up in one of these functions but was unhandled in the other. (I'm not sure about setting 16 bpp for the 15bpp case either but I left that there for now.) Signed-off-by: BALATON Zoltan <bala...@eik.bme.hu> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 6932a69b20a88428c531805cdd20eec8acf05b27 https://github.com/qemu/qemu/commit/6932a69b20a88428c531805cdd20eec8acf05b27 Author: Lei Li <li...@linux.vnet.ibm.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M qapi-schema-guest.json M qapi-schema.json Log Message: ----------- qapi: Fix enumeration typo error Signed-off-by: Lei Li <li...@linux.vnet.ibm.com> Reviewed-by: Luiz Capitulino <lcapitul...@redhat.com> Signed-off-by: Stefan Hajnoczi <stefa...@gmail.com> Commit: 6d1cc3210ccc4372ffa337c187da9db68314c0c4 https://github.com/qemu/qemu/commit/6d1cc3210ccc4372ffa337c187da9db68314c0c4 Author: Stefan Weil <s...@weilnetz.de> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M kvm-all.c Log Message: ----------- kvm: Fix warning from static code analysis Report from smatch: kvm-all.c:1373 kvm_init(135) warn: variable dereferenced before check 's' (see line 1360) 's' cannot by NULL (it was alloced using g_malloc0), so there is no need to check it here. Signed-off-by: Stefan Weil <s...@weilnetz.de> Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Stefan Hajnoczi <stefa...@gmail.com> Commit: ef37a699a06f96e098ee00683b7052b5fbb6ad7d https://github.com/qemu/qemu/commit/ef37a699a06f96e098ee00683b7052b5fbb6ad7d Author: Igor Mitsyanko <i.mitsya...@samsung.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M arch_init.c Log Message: ----------- arch_init.c: add missing '%' symbols before PRIu64 in debug printfs '%' symbols were missing in front of PRIu64 macros in DPRINTF() messages in arch_init.c, this caused compilation warnings when compiled with DEBUG_ARCH_INIT defined. Signed-off-by: Igor Mitsyanko <i.mitsya...@samsung.com> Signed-off-by: Stefan Hajnoczi <stefa...@gmail.com> Commit: 987a9b4800003567b1a47a379255e886a77d57ea https://github.com/qemu/qemu/commit/987a9b4800003567b1a47a379255e886a77d57ea Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M hw/virtio-net.c M net.c M net/queue.c M net/queue.h Log Message: ----------- net: notify iothread after flushing queue virtio-net has code to flush the queue and notify the iothread whenever new receive buffers are added by the guest. That is fine, and indeed we need to do the same in all other drivers. However, notifying the iothread should be work for the network subsystem. And since we are at it we can add a little smartness: if some of the queued packets already could not be delivered, there is no need to notify the iothread. Reported-by: Luigi Rizzo <ri...@iet.unipi.it> Cc: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Cc: Jan Kiszka <jan.kis...@siemens.de> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Reviewed-by: Amos Kong <ak...@redhat.com> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: e8b4c680b41bd960ecccd9ff076b7b058e0afcd4 https://github.com/qemu/qemu/commit/e8b4c680b41bd960ecccd9ff076b7b058e0afcd4 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M hw/e1000.c Log Message: ----------- e1000: flush queue whenever can_receive can go from false to true When the guests replenish the receive ring buffer, the network device should flush its queue of pending packets. This is done with qemu_flush_queued_packets. e1000's can_receive can go from false to true when RCTL or RDT are modified. Reported-by: Luigi Rizzo <ri...@iet.unipi.it> Cc: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Cc: Jan Kiszka <jan.kis...@siemens.de> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Reviewed-by: Amos Kong <ak...@redhat.com> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: a98b140223d3a627eab7ee3ddec645bab630d756 https://github.com/qemu/qemu/commit/a98b140223d3a627eab7ee3ddec645bab630d756 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M hw/xen_nic.c Log Message: ----------- xen: flush queue when getting an event xen does not have a register that, when written, will cause can_receive to go from false to true. However, flushing the queue can be attempted whenever the front-end raises its side of the Xen event channel. There is a single event channel for tx and rx. Cc: Stefano Stabellini <stefano.stabell...@eu.citrix.com> Cc: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Reviewed-by: Amos Kong <ak...@redhat.com> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 1069985fb132cd4324fc02d371f1e61492a1823f https://github.com/qemu/qemu/commit/1069985fb132cd4324fc02d371f1e61492a1823f Author: Bo Yang <boy...@suse.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M hw/eepro100.c Log Message: ----------- eepro100: Fix network hang when rx buffers run out This is reported by QA. When installing os with pxe, after the initial kernel and initrd are loaded, the procedure tries to copy files from install server to local harddisk, the network becomes stall because of running out of receive descriptor. [Whitespace fixes and removed qemu_notify_event() because Paolo's earlier net patches have moved it into qemu_flush_queued_packets(). Additional info: I can reproduce the network hang with a tap device doing a iPXE HTTP boot as follows: $ qemu -enable-kvm -m 1024 \ -netdev tap,id=netdev0,script=no,downscript=no \ -device i82559er,netdev=netdev0,romfile=80861209.rom \ -drive if=virtio,cache=none,file=test.img iPXE> ifopen net0 iPXE> config # set static network configuration iPXE> kernel http://mirror.bytemark.co.uk/fedora/linux/releases/17/Fedora/x86_64/os/images/pxeboot/vmlinuz I needed a vanilla iPXE ROM to get to the iPXE prompt. I think the boot prompt has been disabled in the ROMs that ship with QEMU to reduce boot time. During the vmlinuz HTTP download there is a network hang. hw/eepro100.c has reached the end of the rx descriptor list. When the iPXE driver replenishes the rx descriptor list we don't kick the QEMU net subsystem and event loop, thereby leaving the tap netdev without its file descriptor in select(2). Stefan Hajnoczi <stefa...@gmail.com>] Signed-off-by: Bo Yang <boy...@suse.com> Signed-off-by: Stefan Hajnoczi <stefa...@gmail.com> Commit: c67f5dc10573687497f0f5c3aec19b15c35c63d7 https://github.com/qemu/qemu/commit/c67f5dc10573687497f0f5c3aec19b15c35c63d7 Author: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M net.c Log Message: ----------- net: add receive_disabled logic to iov delivery path This patch adds the missing NetClient->receive_disabled logic in the sendv delivery code path. It seems that commit 893379efd0e1b84ceb0c42a713293f3dbd27b1bd ("net: disable receiving if client returns zero") only added the logic to qemu_deliver_packet() and not qemu_deliver_packet_iov(). The receive_disabled flag should be automatically set when .receive(), .receive_raw(), or .receive_iov() return 0. No further packets will be delivered to the NetClient until the receive_disabled flag is cleared again by calling qemu_flush_queued_packets(). Typically the NetClient will wait until its file descriptor becomes writable and then invoke qemu_flush_queued_packets() to resume transmission. Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 06b5f36d052b540a59b52150582d65674199b2ce https://github.com/qemu/qemu/commit/06b5f36d052b540a59b52150582d65674199b2ce Author: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M net/queue.c Log Message: ----------- net: do not report queued packets as sent Net send functions have a return value where 0 means the packet has not been sent and will be queued. A non-zero value means the packet was sent or an error caused the packet to be dropped. This patch fixes two instances where packets are queued but we return their size. This causes callers to believe the packets were sent. When the caller uses the async send interface this creates a real problem because the callback will be invoked for a packet that the caller believed to be already sent. This bug can cause double-frees in the caller. Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 08d12022c7f1aba6acccc75150659c6e4c9dff23 https://github.com/qemu/qemu/commit/08d12022c7f1aba6acccc75150659c6e4c9dff23 Author: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M qemu-options.hx Log Message: ----------- net: add -netdev options to man page Document the -netdev syntax which supercedes the older -net syntax. This patch is a first step to making -netdev prominent in the QEMU manual. Reported-by: Anatoly Techtonik <techto...@gmail.com> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: f237ddbb89142c6948a2257c459e49dee7500a7c https://github.com/qemu/qemu/commit/f237ddbb89142c6948a2257c459e49dee7500a7c Author: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M hw/usb/dev-network.c Log Message: ----------- net: clean up usbnet_receive() The USB network interface has two code paths depending on whether or not RNDIS mode is enabled. Refactor usbnet_receive() so that there is a common path throughout the function instead of duplicating everything across if (is_rndis(s)) ... else ... code paths. Clean up coding style and 80 character line wrap along the way. Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 190563f9a90c9df8ad32fc7f3e4b166deda949a6 https://github.com/qemu/qemu/commit/190563f9a90c9df8ad32fc7f3e4b166deda949a6 Author: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M hw/usb/dev-network.c Log Message: ----------- net: fix usbnet_receive() packet drops The USB network interface has a single buffer which the guest reads from. This patch prevents multiple calls to usbnet_receive() from clobbering the input buffer. Instead we queue packets until buffer space becomes available again. This is inspired by virtio-net and e1000 rxbuf handling. Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 61518a74ca98870e8ff132f91dd5dda252e31f58 https://github.com/qemu/qemu/commit/61518a74ca98870e8ff132f91dd5dda252e31f58 Author: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M net/hub.c Log Message: ----------- net: broadcast hub packets if at least one port can receive In commit 60c07d933c66c4b30a83b7ccbc8a0cb3df1b2d0e ("net: fix qemu_can_send_packet logic") the "VLAN" broadcast behavior was changed to queue packets if any net client cannot receive. It turns out that this was not actually the right fix and just hides the real bug that hw/usb/dev-network.c:usbnet_receive() clobbers its receive buffer when called multiple times in a row. The commit also introduced a new bug that "VLAN" packets would not be sent if one of multiple net clients was down. The hw/usb/dev-network.c bug has since been fixed, so this patch reverts broadcast behavior to send packets as long as one net client can receive. Packets simply get queued for the net clients that are temporarily unable to receive. Reported-by: Roy.Li <rongqing...@windriver.com> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 863f678fba4191f3b695620f41056cb7c124425d https://github.com/qemu/qemu/commit/863f678fba4191f3b695620f41056cb7c124425d Author: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M net/socket.c Log Message: ----------- net: asynchronous send/receive infrastructure for net/socket.c The net/socket.c net client is not truly asynchronous. This patch borrows the qemu_set_fd_handler2() code from net/tap.c as the basis for proper asynchronous send/receive. Only read packets from the socket when the peer is able to receive. This avoids needless queuing. Later patches implement asynchronous send. Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 213fd5087e2e4e2da10ad266df0ba950cf7618bf https://github.com/qemu/qemu/commit/213fd5087e2e4e2da10ad266df0ba950cf7618bf Author: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M net/socket.c Log Message: ----------- net: EAGAIN handling for net/socket.c UDP Implement asynchronous send for UDP (or other SOCK_DGRAM) sockets. If send fails with EAGAIN we wait for the socket to become writable again. Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: 45a7f54a8bb3928ffa58d522e0d61acaee8277bb https://github.com/qemu/qemu/commit/45a7f54a8bb3928ffa58d522e0d61acaee8277bb Author: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M net/socket.c Log Message: ----------- net: EAGAIN handling for net/socket.c TCP Replace spinning send_all() with a proper non-blocking send. When the socket write buffer limit is reached, we should stop trying to send and wait for the socket to become writable again. Non-blocking TCP sockets can return in two different ways when the write buffer limit is reached: 1. ret = -1 and errno = EAGAIN/EWOULDBLOCK. No data has been written. 2. ret < total_size. Short write, only part of the message was transmitted. Handle both cases and keep track of how many bytes have been written in s->send_index. (This includes the 'length' header before the actual payload buffer.) Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Commit: e84d5956cc6215d2f098e7b6090fc5ec4cba1be3 https://github.com/qemu/qemu/commit/e84d5956cc6215d2f098e7b6090fc5ec4cba1be3 Author: Yann E. MORIN <yann.morin.1...@free.fr> Date: 2012-09-14 (Fri, 14 Sep 2012) Changed paths: M configure Log Message: ----------- configure: fix seccomp check Currently, if libseccomp is missing but the user explicitly requested seccomp support using --enable-seccomp, configure silently ignores the situation and disables seccomp support. This is unlike all other tests that explicitly fail in such situation. Fix that. Signed-off-by: "Yann E. MORIN" <yann.morin.1...@free.fr> Reviewed-by: Andreas Färber <afaer...@suse.de> Signed-off-by: Stefan Hajnoczi <stefa...@gmail.com> Commit: 8490fc78e708eaaaa20f06b5efe190bfeabe0064 https://github.com/qemu/qemu/commit/8490fc78e708eaaaa20f06b5efe190bfeabe0064 Author: Luiz Capitulino <lcapitul...@redhat.com> Date: 2012-09-17 (Mon, 17 Sep 2012) Changed paths: M exec.c M qemu-config.c M qemu-options.hx Log Message: ----------- add -machine mem-merge=on|off option It allows to disable memory merge support (KSM on Linux), which is enabled by default otherwise. Signed-off-by: Luiz Capitulino <lcapitul...@redhat.com> Signed-off-by: Anthony Liguori <aligu...@us.ibm.com> Commit: ed0ec1aa858ac1fcfe3664e4159e695c2c063df8 https://github.com/qemu/qemu/commit/ed0ec1aa858ac1fcfe3664e4159e695c2c063df8 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2012-09-17 (Mon, 17 Sep 2012) Changed paths: M hw/pc.c Log Message: ----------- pc: Drop practically unused BOCHS BIOS debug ports We have debugcon these days to listen on those ports that receive debug messages. Also drop the others that have no effect anymore. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Signed-off-by: Anthony Liguori <aligu...@us.ibm.com> Commit: 6db0fdce02d72546a4c47100a9b2cd0090cf464d https://github.com/qemu/qemu/commit/6db0fdce02d72546a4c47100a9b2cd0090cf464d Author: Anthony Liguori <aligu...@us.ibm.com> Date: 2012-09-17 (Mon, 17 Sep 2012) Changed paths: M qemu-char.c Log Message: ----------- Revert 455aa1e08 and c3767ed0eb commit c3767ed0eb5d0bb25fe409ae5dec06e3411ff1b6 qemu-char: (Re-)connect for tcp_chr_write() unconnected writing Has no hope of working because tcp_chr_connect() does not actually connect. 455aa1e08 just fixes the SEGV with server() but the attempt to connect a client socket is still completely broken. This patch reverts both. Reported-by: Richard W.M. Jones <rjo...@redhat.com> Signed-off-by: Anthony Liguori <aligu...@us.ibm.com> Commit: bbdd2ad0814ea0911076419ea21b7957505cf1cc https://github.com/qemu/qemu/commit/bbdd2ad0814ea0911076419ea21b7957505cf1cc Author: David Gibson <da...@gibson.dropbear.id.au> Date: 2012-09-17 (Mon, 17 Sep 2012) Changed paths: M iohandler.c M qemu-char.c Log Message: ----------- qemu-char: BUGFIX, don't call FD_ISSET with negative fd tcp_chr_connect(), unlike for example udp_chr_update_read_handler() does not check if the fd it is using is valid (>= 0) before passing it to qemu_set_fd_handler2(). If using e.g. a TCP serial port, which is not initially connected, this can result in -1 being passed to FD_ISSET, which has undefined behaviour. On x86 it seems to harmlessly return 0, but on PowerPC, it causes a fortify buffer overflow error to be thrown. This patch fixes this by putting an extra test in tcp_chr_connect(), and also adds an assert qemu_set_fd_handler2() to catch other such errors on all platforms, rather than just some. Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> Signed-off-by: Anthony Liguori <aligu...@us.ibm.com> Commit: 0b57e287138728f72d88b06e69b970c5d745c44a https://github.com/qemu/qemu/commit/0b57e287138728f72d88b06e69b970c5d745c44a Author: David Gibson <da...@gibson.dropbear.id.au> Date: 2012-09-17 (Mon, 17 Sep 2012) Changed paths: M exec.c Log Message: ----------- cpu_physical_memory_write_rom() needs to do TB invalidates cpu_physical_memory_write_rom(), despite the name, can also be used to write images into RAM - and will often be used that way if the machine uses load_image_targphys() into RAM addresses. However, cpu_physical_memory_write_rom(), unlike cpu_physical_memory_rw() doesn't invalidate any cached TBs which might be affected by the region written. This was breaking reset (under full emu) on the pseries machine - we loaded our firmware image into RAM, and while executing it rewrite the code at the entry point (correctly causing a TB invalidate/refresh). When we reset the firmware image was reloaded, but the TB from the rewrite was still active and caused us to get an illegal instruction trap. This patch fixes the bug by duplicating the tb invalidate code from cpu_physical_memory_rw() in cpu_physical_memory_write_rom(). Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> Signed-off-by: Anthony Liguori <aligu...@us.ibm.com> Commit: 121afa9e0c02617c2a774996512e4f85f3e93da8 https://github.com/qemu/qemu/commit/121afa9e0c02617c2a774996512e4f85f3e93da8 Author: Anthony Liguori <aligu...@us.ibm.com> Date: 2012-09-17 (Mon, 17 Sep 2012) Changed paths: M configure Log Message: ----------- Revert "Add ability to disable build of all targets" This reverts commit 66d5499b3754b83c09487259c08fe2ce73188a59. This commit broke --target-list="x86_64-softmmu" and the fix isn't immediatley obvious. Signed-off-by: Anthony Liguori <aligu...@us.ibm.com> Commit: 31e165f1770cd10ee4fabf7ef4c1a48566be3336 https://github.com/qemu/qemu/commit/31e165f1770cd10ee4fabf7ef4c1a48566be3336 Author: Anthony Liguori <aligu...@us.ibm.com> Date: 2012-09-17 (Mon, 17 Sep 2012) Changed paths: M hw/cirrus_vga.c M hw/qxl.c M hw/vga-isa-mm.c M hw/vga.c M hw/vmware_vga.c M kvm-all.c M memory.c M memory.h M scripts/update-linux-headers.sh Log Message: ----------- Merge remote-tracking branch 'qemu-kvm/uq/master' into staging * qemu-kvm/uq/master: kvm: Rename irqchip_inject_ioctl to irq_set_ioctl kvm: Stop flushing coalesced MMIO on vmexit VGA: Flush coalesced MMIO on related MMIO/PIO accesses memory: Flush coalesced MMIO on mapping and state changes memory: Fold memory_region_update_topology into memory_region_transaction_commit memory: Use transaction_begin/commit also for single-step operations memory: Flush coalesced MMIO on selected region access kvm-all.c: Move init of irqchip_inject_ioctl out of kvm_irqchip_create() update-linux-headers.sh: Don't hard code list of architectures Commit: de71bd6f77739cc5addb6d70bf29be59aed41722 https://github.com/qemu/qemu/commit/de71bd6f77739cc5addb6d70bf29be59aed41722 Author: Anthony Liguori <aligu...@us.ibm.com> Date: 2012-09-17 (Mon, 17 Sep 2012) Changed paths: M hw/e1000.c M hw/eepro100.c M hw/usb/dev-network.c M hw/virtio-net.c M hw/xen_nic.c M net.c M net/hub.c M net/queue.c M net/queue.h M net/socket.c M qemu-options.hx Log Message: ----------- Merge remote-tracking branch 'stefanha/net' into staging * stefanha/net: net: EAGAIN handling for net/socket.c TCP net: EAGAIN handling for net/socket.c UDP net: asynchronous send/receive infrastructure for net/socket.c net: broadcast hub packets if at least one port can receive net: fix usbnet_receive() packet drops net: clean up usbnet_receive() net: add -netdev options to man page net: do not report queued packets as sent net: add receive_disabled logic to iov delivery path eepro100: Fix network hang when rx buffers run out xen: flush queue when getting an event e1000: flush queue whenever can_receive can go from false to true net: notify iothread after flushing queue Commit: cd6dcc710541dd39504f47a5c258f14a762bb767 https://github.com/qemu/qemu/commit/cd6dcc710541dd39504f47a5c258f14a762bb767 Author: Anthony Liguori <aligu...@us.ibm.com> Date: 2012-09-17 (Mon, 17 Sep 2012) Changed paths: M configure M hw/qxl.c M trace-events M ui/spice-display.c M ui/spice-display.h Log Message: ----------- Merge remote-tracking branch 'spice/spice.v60' into staging * spice/spice.v60: hw/qxl: support client monitor configuration via device qxl: add trace-event for QXL_IO_LOG hw/qxl: tracing fixes qxl: better cleanup for surface destroy qxl: Ignore set_client_capabilities pre/post migrate qxl: dont update invalid area spice: send updates only for changed screen content spice: add screen mirror spice: split qemu_spice_create_update spice: switch to queue for vga mode updates Commit: 509e9c462d03c4b7edc4a0d277311a7f45c9c046 https://github.com/qemu/qemu/commit/509e9c462d03c4b7edc4a0d277311a7f45c9c046 Author: Anthony Liguori <aligu...@us.ibm.com> Date: 2012-09-17 (Mon, 17 Sep 2012) Changed paths: M arch_init.c M configure M console.c M docs/specs/ppc-spapr-hcalls.txt M docs/usb2.txt M hw/imx_avic.c M hw/imx_timer.c M hw/kzm.c M hw/srp.h M hw/xen-host-pci-device.c M hw/xen_pt.h M hw/xen_pt_config_init.c M kvm-all.c M linux-user/main.c M memory.h M qapi-schema-guest.json M qapi-schema.json M qemu-img.c M qemu-img.texi M ui/spice-display.c Log Message: ----------- Merge remote-tracking branch 'stefanha/trivial-patches' into staging * stefanha/trivial-patches: configure: fix seccomp check arch_init.c: add missing '%' symbols before PRIu64 in debug printfs kvm: Fix warning from static code analysis qapi: Fix enumeration typo error console: Clean up bytes per pixel calculation Fix copy&paste typos in documentation comments linux-user: Remove #if 0'd cpu_get_real_ticks() definition ui: Fix spelling in comment (ressource -> resource) Spelling fixes in comments and macro names (ressource -> resource) Fix spelling (licenced -> licensed) in GPL Spelling fixes in comments and documentation srp: Don't use QEMU_PACKED for single elements of a structured type Commit: 109820df4a3b8b58f234319d015a854df9db8981 https://github.com/qemu/qemu/commit/109820df4a3b8b58f234319d015a854df9db8981 Author: Anthony Liguori <aligu...@us.ibm.com> Date: 2012-09-17 (Mon, 17 Sep 2012) Changed paths: M Makefile M block.c M block/curl.c M block/sheepdog.c M block/vdi.c M hw/ide/ahci.c M hw/ide/atapi.c M hw/ide/core.c M qapi-schema.json M qemu-img-cmds.hx M qemu-img.c M qemu-img.texi Log Message: ----------- Merge remote-tracking branch 'kwolf/for-anthony' into staging * kwolf/for-anthony: block: Don't forget to delete temporary file Don't require encryption password for 'qemu-img info' command qemu-img: Add json output option to the info command. qapi: Add SnapshotInfo and ImageInfo. ahci: properly reset PxCMD on HBA reset block: fix block tray status vdi: Fix warning from clang block/curl: Fix wrong free statement ide: Fix error messages from static code analysis (no real error) ATAPI: STARTSTOPUNIT only eject/load media if powercondition is 0 sheepdog: fix savevm and loadvm Commit: 6b80f7db8a7f84d21e46d01e30c8497733bb23a0 https://github.com/qemu/qemu/commit/6b80f7db8a7f84d21e46d01e30c8497733bb23a0 Author: Anthony Liguori <aligu...@us.ibm.com> Date: 2012-09-17 (Mon, 17 Sep 2012) Changed paths: M slirp/tcp_subr.c M slirp/tftp.c M slirp/tftp.h Log Message: ----------- Merge remote-tracking branch 'kiszka/queues/slirp' into staging * kiszka/queues/slirp: slirp: Implement TFTP Blocksize option slirp: Remove unused return value of tftp_send_next_block slirp: Handle more than 65535 blocks in TFTP transfers slirp: improve TFTP performance slirp: Fix error reported by static code analysis slirp: Remove wrong type casts ins debug statements Compare: https://github.com/qemu/qemu/compare/89c33337fd21...6b80f7db8a7f